-
Notifications
You must be signed in to change notification settings - Fork 286
to 3.0: restrict MO_CTL execution of flush, merge, checkpoint within explicit transactions #22333
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: 3.0-dev
Are you sure you want to change the base?
Conversation
PR Reviewer Guide 🔍Here are some key observations to aid the review process:
|
PR Code Suggestions ✨Explore these optional code suggestions:
|
User description
What type of PR is this?
Which issue(s) this PR fixes:
issue ##21941
What this PR does / why we need it:
mo_ctl advancing the transaction snapshot may result in unexpected behavior,
So we restrict these executions within an explicit transaction.
PR Type
Bug fix
Description
Restrict MO_CTL flush/merge/checkpoint execution within explicit transactions
Add
ByBegin()
method to TxnOperator interfaceImplement transaction state checking for control operations
Add test cases for transaction restriction validation
Diagram Walkthrough
File Walkthrough
3 files
Add ByBegin method to TxnOperator interface
Implement ByBegin method in txnOperator
Implement ByBegin method returning false
1 files
Add transaction check for control operations
10 files
Add ByBegin mock method implementation
Add ByBegin panic implementation for tests
Add ByBegin panic implementation for tests
Add ByBegin panic implementation for tests
Add ByBegin false return for fake operator
Add ByBegin panic implementation for tests
Add transaction checkpoint restriction test case
Add expected error result for checkpoint test
Add transaction merge restriction test case
Add expected error result for merge test