Fixes phantom event emission; Introduces StageCommitTableEvent #3073
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.
This PR introduces a new event type
StageCommitTableEvent, which triggers only in the case of a transactional commit at the time the staged commit is generated (before the commit is actually applied). This allows us to reserve theAfterCommitTableEventsolely for when the commit has been successfully applied.In order to do this, I've made a slight addition to the
TransactionWorkspaceMetaStoreManagerclass to add the staging of events, mirroring exactly how we stage updates. Noting that there is no unit testing for this class, I've added this as well.Additionally, E2E testing for the events emissions in the CommitTransaction API has been added, looking both at the happy and sad paths.
Checklist
CHANGELOG.md(if needed)site/content/in-dev/unreleased(if needed)Closes #2990.