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

store/tikv: fix misuse of PD client's GetStore (#23695) #24499

Closed

Conversation

ti-srebot
Copy link
Contributor

@ti-srebot ti-srebot commented May 8, 2021

cherry-pick #23695 to release-3.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/24499

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

git push git@github.com:ti-srebot/tidb.git pr/24499:release-3.0-addbd46c3dd1

Signed-off-by: longfangsong longfangsong@icloud.com

What problem does this PR solve?

Issue Number: close #23676

Problem Summary:

  • TiDB wrongly uses the PD client's GetStore(), which may result in dead loops.
  • store.State isn't changed if it becomes a tombstone

What is changed and how it works?

What's Changed:

Skip the early-return if branch when "load Store from PD success but pd didn't found the store"

How it Works:

By checking the error message. This is a quick and dirty solution. A better solution (which needs to change the pdClient, and maybe the whole way of our error handling process) needs more discussion.

Related changes

  • Need to cherry-pick to the release branch
    Needs to cherry-pick to 5.0.

Check List

Tests

  • Unit test
  • Integration test

Release note

  • No release note

Signed-off-by: ti-srebot <ti-srebot@pingcap.com>
@ti-chi-bot
Copy link
Member

[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.

Reviewer can indicate their review by writing /lgtm in a comment.
Reviewer can cancel approval by writing /lgtm cancel in a comment.

@ti-srebot
Copy link
Contributor Author

/run-all-tests

@ti-srebot ti-srebot added sig/transaction SIG:Transaction size/S Denotes a PR that changes 10-29 lines, ignoring generated files. type/3.0-cherry-pick labels May 8, 2021
@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 May 8, 2021
@ti-srebot ti-srebot added this to the v3.0.21 milestone May 8, 2021
@ti-srebot
Copy link
Contributor Author

@longfangsong please accept the invitation then you can push to the cherry-pick pull requests.
https://github.com/ti-srebot/tidb/invitations

@winoros
Copy link
Member

winoros commented Jun 16, 2021

Please fix the tests and then re-request the review. Thanks!

@hawkingrei
Copy link
Member

close for DMR version

@hawkingrei hawkingrei closed this Aug 30, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
sig/transaction SIG:Transaction size/M Denotes a PR that changes 30-99 lines, ignoring generated files. type/3.0-cherry-pick
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants