feat: make PML compatible with OE by staging in-memory CLOB side effects (backport #2447) #2470
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.
Changelist
PML supports user transaction that creates new ClobPair (both in state and in memory objects). Currently there are two issues:
The user txn can be reverted later, but the in-memory changes are not discarded
The block may be processed optimistically (OE) and discarded later, but the in-memory changes are not discarded
To solve these issues we use the FinalizeBlockEventStager to store a ClobPair creation event during DeliverTx, and apply the in-memory side effects later in Precommit.
Test Plan
[Describe how this PR was tested (if applicable)]
Author/Reviewer Checklist
state-breaking
label.indexer-postgres-breaking
label.PrepareProposal
orProcessProposal
, manually add the labelproposal-breaking
.feature:[feature-name]
.backport/[branch-name]
.refactor
,chore
,bug
.