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.
pogreb
, the backing KV store for the cache, blocks the entire indexer for potentially multiple hours if it needs to reindex the cache (which happens whenever the database is not closed cleanly).This PR updates the
KVStore
to open the backing DB in the background. TheOpenKVStore
will block for a maximum of 30 seconds. If the database is not opened within that period, it is likely doing the reindexing, and it will continue to do so in the background. Meanwhile, the store will work and behave as if it had an empty backing DB.Testing:
Artificially added timeouts to the pogreb initialization and tested on a local instance. It works as expected, the indexer starts while the pogreb is initializing in the background. And after the db is initialized, the cache is used.