fix(conductor): remove panic source on shutdown #1919
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Removes a panic source in the conductor frontend by moving around the restart logic.
Background
Conductor::run_until_stoppedcontains a loop to allow restarting its backend business logic. This loop delegates to aConductor::restart_or_shutdownmethod to execute the restart of the backend, and then immediately reenters the loop no matter a restart happened or not.While refactoring the inner conductor business logic (which lead to slightly different return values in turn affecting the blackbox test assertions) it was found that behavior can lead to the conductor backend panicking because it's being polled again even after running to completion.
Changes
Conductor::shutdown_or_restarttoConductor::restart_or_shutdownto match the enum it's branching on.Testing
This can't really be tested. But it does fix the panic in the refactor PR.
Changelogs
Changelogs updated.