Catch Doctor exceptions and do not persist consumer database connections #343
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.
An exception thrown when the Doctor is restarting a consumer will result in the Doctor completely shutting down due to the exception not being caught. As a result, exceptions in the Doctor's run loop need to be handled properly.
The exception causing the Doctor to crash occurs when the Doctor restarts a consumer and an attempt to create a database connection fails on consumer init. Since a presistant database connection is not needed by the consumer itself, only create the database connection when it is needed to automatically disable a trigger.
Below is a stacktrace showing the described exception occuring: