Optimize transaction cache #613
Merged
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.
Previously in our
TransactionCache
every 10 minutes we were re-counting every txs in database, not optimal...In this PR, we take advantage of the
FinalizerService
, which is grabbing every 10min every txs that needs to be finalized.Here is the workflow:
AppState
table the current count of finalized txs.finalized_tx_count
inapp_state
TransactionCache
is first reading thefinalized_tx_count
and only count txs that aren't finalized.With this solution, whatever the number of transactions, the cache will only count a very small set of transactions.