There’s two cases I’ve run into:
A processor prevents the controller service from stopping. Eventually all processors stopped but there was no code to restore them to their previous state.
A processor hadn’t finished stopping and couldn’t be started. This shouldn’t prevent other processors from returning to their previous state.
Basically needs a try block to try updating the controller service, then a finally block to reset the processors.
I think we also need a try block around each processor update so that one failure doesn’t prevent the others from being updated.
Then log all processor ids that failed to update.