*: fix the duplicate entry error when using BR to restore a NONCLUSTERED AUTO_ID_CACHE=1 table (#46127)#46333
Conversation
Signed-off-by: ti-chi-bot <ti-community-prow-bot@tidb.io>
|
This cherry pick PR is for a release branch and has not yet been approved by release team. 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. DetailsInstructions 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. |
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
|
@ti-chi-bot: The following tests failed, say
Full PR test history. Your PR dashboard. DetailsInstructions 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. |
|
wrong branch |
This is an automated cherry-pick of #46127
What problem does this PR solve?
Issue Number: close #46093
Problem Summary:
What is changed and how it works?
For a NONCLUSTERED table with AUTO_ID_CACHE=1, like the case in #46093,
there are both
auto_increment_idand_tidb_rowid.The
model.TableInfoonly get one fieldAutoIncID, the information is not enough to recover the table correctly.So a
AutoIncIDExtrafield is added for that case. We can record_tidb_rowidinAutoIncIDExtraand recover the_tidb_rowidfrom it.Check List
Tests
Test the case follow the steps in #46093 manually.
I'm trying to add some test but find it difficult to do that in a unit test.
For example, I tried to add it in the
tests/realtikvtest/brietestbut found that it does not start the server layer so the auto id service does not run and I can't test the AUTO_ID_CACHE=1I tried to add it in the
server/testswhere a server is started, but it use unistore andbr recover table ...can not run with unistore.Side effects
Documentation
Release note
Please refer to Release Notes Language Style Guide to write a quality release note.