Skip to content

ddl: avoid commit conflicts when updating/delete from mysql.tidb_ddl_reorg. (#38738)#44194

Closed
ti-chi-bot wants to merge 1 commit intopingcap:release-6.5from
ti-chi-bot:cherry-pick-38738-to-release-6.5
Closed

ddl: avoid commit conflicts when updating/delete from mysql.tidb_ddl_reorg. (#38738)#44194
ti-chi-bot wants to merge 1 commit intopingcap:release-6.5from
ti-chi-bot:cherry-pick-38738-to-release-6.5

Conversation

@ti-chi-bot
Copy link
Member

This is an automated cherry-pick of #38738

What problem does this PR solve?

Issue Number: close #38669, #24427

Problem Summary:

Root cause of the issue is that in HandleDDLJobTable it will

  1. start a new transaction
  2. call runReorgJob for reorganization work, which can update mysql.tidb_ddl_reorg table in a new transaction, for 'savepoints' in case of crash, so it can continue instead of having to restart from the beginning.
  3. when runReorgJob returns it will delete the job from mysql.tidb_ddl_reorg and commit the transaction started in 1) and if 2) did update the same table, this is where the commit conflict will occur, resulting in updates to reorg_meta will not be committed and the warnings and other updates will be lost.

What is changed and how it works?

Check List

Tests

  • Unit test
  • Integration test
  • Manual test (add detailed scripts or steps below)
  • No code

Side effects

  • Performance regression: Consumes more CPU
  • Performance regression: Consumes more Memory
  • Breaking backward compatibility

Documentation

  • Affects user behaviors
  • Contains syntax changes
  • Contains variable changes
  • Contains experimental features
  • Changes MySQL compatibility

Release note

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

None

Signed-off-by: ti-chi-bot <ti-community-prow-bot@tidb.io>
@ti-chi-bot
Copy link

ti-chi-bot bot commented May 25, 2023

[REVIEW NOTIFICATION]

This pull request has not been approved.

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.

Details

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 release-note-none Denotes a PR that doesn't merit a release note. size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. labels May 25, 2023
@ti-chi-bot ti-chi-bot bot added release-note-none Denotes a PR that doesn't merit a release note. do-not-merge/cherry-pick-not-approved labels May 25, 2023
@ti-chi-bot ti-chi-bot added the type/cherry-pick-for-release-6.5 This PR is cherry-picked to release-6.5 from a source PR. label May 25, 2023
@ti-chi-bot
Copy link

ti-chi-bot bot commented May 25, 2023

This cherry pick PR is for a release branch and has not yet been approved by release team.
Adding the do-not-merge/cherry-pick-not-approved label.

To merge this cherry pick, it must first be approved by the collaborators.

AFTER it has been approved by collaborators, please ping the release team in a comment to request a cherry pick review.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@ti-chi-bot ti-chi-bot bot added size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. and removed size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. labels May 25, 2023
@ti-chi-bot
Copy link

ti-chi-bot bot commented Feb 6, 2024

@ti-chi-bot: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
idc-jenkins-ci-tidb/unit-test 921a1e8 link true /test unit-test
idc-jenkins-ci-tidb/check_dev 921a1e8 link true /test check-dev
idc-jenkins-ci-tidb/build 921a1e8 link true /test build
idc-jenkins-ci-tidb/check_dev_2 921a1e8 link true /test check-dev2
idc-jenkins-ci-tidb/mysql-test 921a1e8 link true /test mysql-test

Full PR test history. Your PR dashboard.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@ti-chi-bot ti-chi-bot bot closed this Dec 30, 2025
@ti-chi-bot
Copy link

ti-chi-bot bot commented Dec 30, 2025

This pull request is closed because its related version has closed automatic cherry-picking.
If it's still needed, you can reopen it or just regenerate it using bot,
see:

https://prow.tidb.net/command-help#cherrypick
https://book.prow.tidb.net/#/plugins/cherrypicker

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

do-not-merge/cherry-pick-not-approved 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. type/cherry-pick-for-release-6.5 This PR is cherry-picked to release-6.5 from a source PR.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants