genesis-test: Create DB snapshot using full tx isolation #298
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.
As discussed on Slack,
mainnet-indexer-statecheck
(the cron job that runs genesis_test on consensus) consistently fails. A possible cause for failure is that the test creates an inconsistent snapshot of the indexer state, due to not using a strong enough DB tx isolation level.This PR uses
SERIALIZABLE
, the strongest tx isolation level, for snapshot creation.More about DB tx isolation levels:
https://www.postgresql.org/docs/current/transaction-iso.html
I created a dev docker image and I'm deploying this now to see what the effect is.