polygon/heimdall: refactor into txReadStore and txStore #10130
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.
Will be using
NewTxReadStore
in #10124Idea is simple - split the current store in 2:
txReadStore
txStore
These 2 stores wrap around a tx with snapshots reader.
The
txStore
wraps around thetxReadStore
for code re-use.This split removes chances of unexpected
tx is read only
errors when calling the store update methods.Also, opens up a possibility to introduce a
dbStore
anddbReadStore
wrappers aroundtxStore
andtxReadStore
if we decide to go down this path. ThedbStore
in particular can have ownership over the lifetime of atester
- make sure only 1 is open at a time for example by using a channel/mutex/semaphore or some other idea and callRollback
and/orCommit
.We may need to look into transitioning these to
TemporalTx
at some point - for now let's just get this to work first.