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.
It seems like the reason for the crash in 4836 is concurrent access to the db pointer. When we run into the outdated credentials we close the db and it can happen while another operation is running. The crash was happening when get() would check that db is open and copy the db handle, the db would be closed in the meantime and then get() would fail when it would try to use the db. The only way to prevent this is to make all db usage serial and we achieve this by using actor. This probably impacts the performance because there can be no more concurrent calls but we believe that the impact is minimal in practice.
fix #4836