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

session: force tidb_multi_statement_mode=OFF when mode=WARN (#25723) #25749

Merged
merged 5 commits into from
Jul 2, 2021

Conversation

ti-srebot
Copy link
Contributor

@ti-srebot ti-srebot commented Jun 24, 2021

cherry-pick #25723 to release-4.0
You can switch your code base to this Pull Request by using git-extras:

# In tidb repo:
git pr https://github.com/pingcap/tidb/pull/25749

After apply modifications, you can push your change to this PR via:

git push git@github.com:ti-srebot/tidb.git pr/25749:release-4.0-1cab530b793a

What problem does this PR solve?

Problem Summary:

In TiDB 5.0 the default for tidb_multi_statement_mode=OFF, but for upgrades the previous default from 4.0 could be inherited. This changes the value for upgrades as well.

From the docs, "Only the default value of OFF can be considered safe". This was always known to be the case, WARN was introduced to provide a nagging upgrade path for users. Now its time.

What is changed and how it works?

What's Changed:

For users upgrading from TiDB 4.0, the value of tidb_multi_statement_mode is now OFF. It is recommended to use the multi-statement feature of your client library instead, see the documentation on tidb_multi_statement_mode for additional details.

Related changes

  • Need to cherry-pick to the release branch
  • The cherry pick to 4.0 will look a bit different as it also needs to change the sysvar default.

Check List

Tests

  • Manual test (add detailed scripts or steps below)

Bootstrap tasks are hard to test with automated testing. I launched a 4.0.13 server and then ran the SQL statement in this bootstrap task and confirmed only 1 row was modified, and the value changed to OFF.

Side effects

  • Breaking backward compatibility

Release note

  • For users upgrading from TiDB 4.0, the value of tidb_multi_statement_mode is now OFF. It is recommended to use the multi-statement feature of your client library instead, see the documentation on tidb_multi_statement_mode for additional details.

Signed-off-by: ti-srebot <ti-srebot@pingcap.com>
@ti-srebot
Copy link
Contributor Author

/run-all-tests

@ti-srebot ti-srebot added compatibility-breaker Violation of forwards/backwards compatibility in a design-time piece. sig/sql-infra SIG: SQL Infra size/S Denotes a PR that changes 10-29 lines, ignoring generated files. type/4.0-cherry-pick labels Jun 24, 2021
@ti-srebot ti-srebot requested review from bb7133 and xhebox June 24, 2021 12:31
@ti-srebot ti-srebot added this to the v4.0.13 milestone Jun 24, 2021
@ti-chi-bot ti-chi-bot added size/L Denotes a PR that changes 100-499 lines, ignoring generated files. and removed size/S Denotes a PR that changes 10-29 lines, ignoring generated files. labels Jun 24, 2021
@ti-chi-bot ti-chi-bot added size/S Denotes a PR that changes 10-29 lines, ignoring generated files. and removed size/L Denotes a PR that changes 100-499 lines, ignoring generated files. labels Jun 24, 2021
@morgo
Copy link
Contributor

morgo commented Jun 24, 2021

This is similar to the comment in #25750 : I need to be really careful to not break the upgrade since the bootstrap task numbers are shared between versions.

The way I implemented this was to take the next number along and merge the intended task with the task needed here. I also needed to change the default in the sysvars.go file.

@ti-chi-bot ti-chi-bot added size/M Denotes a PR that changes 30-99 lines, ignoring generated files. and removed size/S Denotes a PR that changes 10-29 lines, ignoring generated files. labels Jun 26, 2021
@ti-chi-bot ti-chi-bot added the status/LGT1 Indicates that a PR has LGTM 1. label Jun 27, 2021
@zhouqiang-cl zhouqiang-cl added the cherry-pick-approved Cherry pick PR approved by release team. label Jul 1, 2021
@ti-chi-bot
Copy link
Member

[REVIEW NOTIFICATION]

This pull request has been approved by:

  • bb7133
  • xhebox

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 status/LGT2 Indicates that a PR has LGTM 2. and removed status/LGT1 Indicates that a PR has LGTM 1. labels Jul 1, 2021
@morgo
Copy link
Contributor

morgo commented Jul 2, 2021

/merge

@ti-chi-bot
Copy link
Member

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

Commit hash: c6d570d

@ti-chi-bot ti-chi-bot added the status/can-merge Indicates a PR has been approved by a committer. label Jul 2, 2021
@ti-chi-bot ti-chi-bot merged commit cc0b08a into pingcap:release-4.0 Jul 2, 2021
@eurekaka eurekaka deleted the release-4.0-1cab530b793a branch July 6, 2021 09:14
@eurekaka
Copy link
Contributor

eurekaka commented Jul 6, 2021

@morgo shall we bump currentBootstrapVersion to version52?

@morgo
Copy link
Contributor

morgo commented Jul 6, 2021

@morgo shall we bump currentBootstrapVersion to version52?

Yes, I missed it :( It will be handled in #26006

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cherry-pick-approved Cherry pick PR approved by release team. compatibility-breaker Violation of forwards/backwards compatibility in a design-time piece. sig/sql-infra SIG: SQL Infra size/M Denotes a PR that changes 30-99 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. type/4.0-cherry-pick
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants