-
Notifications
You must be signed in to change notification settings - Fork 5.9k
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
txn: manage the initialization of RCCheckTS by transaction context provider #35554
Conversation
Signed-off-by: SpadeA-Tang <u6748471@anu.edu.au>
[REVIEW NOTIFICATION] This pull request has been approved by:
To complete the pull request process, please ask the reviewers in the list to review by filling The full list of commands accepted by this bot can be found here. Reviewer can indicate their review by submitting an approval review. |
Code Coverage Details: https://codecov.io/github/pingcap/tidb/commit/402bf849b1e28591ef02ef2d01fbb20fc72fe765 |
// Try to mark the `RCCheckTS` flag for the first time execution of in-transaction read requests | ||
// using read-consistency isolation level. | ||
if node != nil && NeedSetRCCheckTSFlag(p.sctx, node) { | ||
p.sctx.GetSessionVars().StmtCtx.RCCheckTS = true |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In session.ExecutePreparedStmt
, the OnStmtStart
will be called before ResetContextOfStmt
so RCCheckTS
will always be false
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, we should move the ResetContextOfStmt.
/run-unit-test |
Signed-off-by: SpadeA-Tang <u6748471@anu.edu.au>
/merge |
This pull request has been accepted and is ready to merge. Commit hash: 770ae35
|
/run-unit-test |
Signed-off-by: SpadeA-Tang <u6748471@anu.edu.au>
/merge |
This pull request has been accepted and is ready to merge. Commit hash: 2a5ca70
|
/run-mysql-test |
TiDB MergeCI notify🔴 Bad News! [2] CI still failing after this pr merged.
|
…vars * upstream/master: (28 commits) *: enable unconvert (pingcap#35821) log-backup: check timezone when using datatime format ts string (pingcap#35811) planner: support the leading hint for outer join (pingcap#35264) lightning: revert new policy of allocating rowid and refine it later (pingcap#35817) txn: manage the initialization of RCCheckTS by transaction context provider (pingcap#35554) ddl: make output field name in `show tables/databases stmt` compatible with mysql (pingcap#35136) txn: remove `legacy.SimpleTxnContextProvider` (pingcap#35667) txn: fix the error message if retry could not be used for rc check ts (pingcap#35474) *: support canceling DDL statements with KILL (pingcap#35803) lightning: avoid extracting db schema when schema file is not provided (pingcap#35783) *: enable all gosimples (pingcap#35762) tools/check: skip 'tests' directory in 'make ut' (pingcap#35800) metrics: add loading region cache duration (pingcap#34679) ddl: DROP TABLE/VIEW/SEQUENCE now use XXXStmt as parameter (pingcap#35741) types: fix incompatible implementation of jsonpath extraction (pingcap#35320) planner: fix TRACE PLAN TARGET = 'estimation' panic when meeting partition table (pingcap#35743) *: Add `testfork.RunTest` to run multiple tests in one function (pingcap#35746) sessionctx/variable: add tests to ensure skipInit can be removed (pingcap#35703) helper: request another PD if one of them is unavailable (pingcap#35750) metrics: add cached table related metrics to grafana panel (pingcap#34718) ...
Signed-off-by: SpadeA-Tang u6748471@anu.edu.au
What problem does this PR solve?
Issue Number: close #35497
Problem Summary:
Move the management of the initialization of RCCheckTS from
ResetContextOfStmt
toTxnContextProvider
.To support this movement, add a new field in txnManager:
stmtNode
.What is changed and how it works?
Check List
Tests