Improve reliability of the database provider health check #276
+37
−16
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
check_provider_factory_health
method. We need to check last 256 blocks for the block that we are building right now and that mean we need to include latest committed block to the checking range but we were excluding that.The way we do this check is that we look at the database provider factory which is not the db transaction but something that creates them. So there is a possibility that we can check provider factory just before it breaks. Checking it in the block builder helper makes this check on the database transaction level so there is a guarantee that the state will not be changed during the lifetime of the block builder helper.
💡 Motivation and Context
Database provider factory is likely to be responsible for the incorrect block that we built.
✅ I have completed the following steps:
make lint
make test