Skip to content
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: Provide PessimisticRCTxnContextProvider for RC isolation #34702

Merged
merged 47 commits into from
Jun 2, 2022

Conversation

lcwangchao
Copy link
Collaborator

@lcwangchao lcwangchao commented May 16, 2022

What problem does this PR solve?

Issue Number: close #34746

What is changed and how it works?

This PR contains the below works:

  1. Add a new method Advise to TxnManager and TxnContextProvider . The method Advise is an enhancement method for the users to do some optimizations. So advise or not advise to the provider should not affect the correctness. Now it supports one type AdviceWarmUp to tell the provider to start fetch the tso background. For simple, user can use sessiontxn.WarmUpTxn too. WarmUpTxn can replace the old method PrepareTSFuture.
  2. Add PessimisticRCTxnContextProvider to provide transaction context under RC isolation and some codes are simplified in executorBuilder

Check List

Tests

  • Unit test

Release note

Please refer to Release Notes Language Style Guide to write a quality release note.

None

@lcwangchao lcwangchao requested a review from a team as a code owner May 16, 2022 12:35
@ti-chi-bot
Copy link
Member

ti-chi-bot commented May 16, 2022

[REVIEW NOTIFICATION]

This pull request has been approved by:

  • cfzjywxk
  • you06

To complete the pull request process, please ask the reviewers in the list to review by filling /cc @reviewer in the comment.
After your PR has acquired the required number of LGTMs, you can assign this pull request to the committer in the list by filling /assign @committer in the comment to help you merge this pull request.

The full list of commands accepted by this bot can be found here.

Reviewer can indicate their review by submitting an approval review.
Reviewer can cancel approval by submitting a request changes review.

@ti-chi-bot ti-chi-bot added do-not-merge/needs-linked-issue release-note-none Denotes a PR that doesn't merit a release note. labels May 16, 2022
@lcwangchao lcwangchao marked this pull request as draft May 16, 2022 12:35
@ti-chi-bot ti-chi-bot added do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. labels May 16, 2022
@sre-bot
Copy link
Contributor

sre-bot commented May 16, 2022

@lcwangchao
Copy link
Collaborator Author

/run-mysql-test

@lcwangchao
Copy link
Collaborator Author

/run-mysql-test

@lcwangchao
Copy link
Collaborator Author

/run-mysql-test

@lcwangchao lcwangchao marked this pull request as ready for review May 17, 2022 11:48
@ti-chi-bot ti-chi-bot removed do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. do-not-merge/needs-linked-issue labels May 17, 2022
sessiontxn/isolation/base.go Show resolved Hide resolved
sessiontxn/isolation/base.go Show resolved Hide resolved
sessiontxn/isolation/readcommitted.go Outdated Show resolved Hide resolved
Copy link
Contributor

@cfzjywxk cfzjywxk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@ti-chi-bot ti-chi-bot added the status/LGT1 Indicates that a PR has LGTM 1. label Jun 1, 2022
@you06 you06 self-requested a review June 1, 2022 09:23
@lcwangchao
Copy link
Collaborator Author

/run-mysql-test

sessiontxn/txn.go Outdated Show resolved Hide resolved
sessiontxn/txn.go Outdated Show resolved Hide resolved
@ti-chi-bot ti-chi-bot added status/LGT2 Indicates that a PR has LGTM 2. and removed status/LGT1 Indicates that a PR has LGTM 1. labels Jun 2, 2022
@lcwangchao
Copy link
Collaborator Author

/merge

@ti-chi-bot
Copy link
Member

This pull request has been accepted and is ready to merge.

Commit hash: e999728

@ti-chi-bot ti-chi-bot added the status/can-merge Indicates a PR has been approved by a committer. label Jun 2, 2022
@ti-chi-bot ti-chi-bot merged commit 22e9f4d into pingcap:master Jun 2, 2022
@lcwangchao lcwangchao deleted the rc_provider branch June 2, 2022 07:36
@sre-bot
Copy link
Contributor

sre-bot commented Jun 2, 2022

TiDB MergeCI notify

🔴 Bad News! [2] CI still failing after this pr merged.
These failed integration tests don't seem to be introduced by the current PR.

CI Name Result Duration Compare with Parent commit
idc-jenkins-ci-tidb/integration-common-test 🔴 failed 1, success 10, total 11 18 min Existing failure
idc-jenkins-ci-tidb/common-test 🔴 failed 1, success 11, total 12 10 min Existing failure
idc-jenkins-ci/integration-cdc-test 🟢 all 35 tests passed 28 min Existing passed
idc-jenkins-ci-tidb/tics-test 🟢 all 1 tests passed 17 min Existing passed
idc-jenkins-ci-tidb/sqllogic-test-2 🟢 all 28 tests passed 12 min Existing passed
idc-jenkins-ci-tidb/sqllogic-test-1 🟢 all 26 tests passed 11 min Existing passed
idc-jenkins-ci-tidb/integration-compatibility-test 🟢 all 1 tests passed 10 min Existing passed
idc-jenkins-ci-tidb/integration-ddl-test 🟢 all 6 tests passed 7 min 53 sec Existing passed
idc-jenkins-ci-tidb/mybatis-test 🟢 all 1 tests passed 3 min 13 sec Existing passed
idc-jenkins-ci-tidb/plugin-test 🟢 build success, plugin test success 4min Existing passed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
release-note-none Denotes a PR that doesn't merit a release note. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. status/can-merge Indicates a PR has been approved by a committer. status/LGT2 Indicates that a PR has LGTM 2.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Introduce txn context provider for pessimistic RC isolation level.
5 participants