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

executor: reset kvRange in TableReaderExec.Close (#19447) #19469

Merged
merged 4 commits into from
Aug 27, 2020

Conversation

ti-srebot
Copy link
Contributor

cherry-pick #19447 to release-3.1


What problem does this PR solve?

Issue Number: close #19431 and close #19435

Problem Summary:

When union scan is under apply's inner side, it will be called multiple times, and for the memTableReader that reads the dirty table, it uses kvRanges from the base table scan as the range, while the base table scanner will update the kvRanges, it does not set it back when it is closed, therefore the kvRange array will grow, and duplicated rows will be read from the dirty table, resulted in errors.

What is changed and how it works?

What's Changed:

Add a back up kvRange variable, reset it upon the close of table reader.

Related changes

  • Need to cherry-pick to the release branch 4.0, 3.1 and 3.0

Check List

Tests

  • Unit test

Side effects

N/A

Release note

  • No release note.

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

/run-all-tests

@ichn-hu
Copy link
Contributor

ichn-hu commented Aug 26, 2020

@XuHuaiyu @lzmhhh123 PTAL

Copy link
Member

@zz-jason zz-jason 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-srebot ti-srebot added the status/LGT1 Indicates that a PR has LGTM 1. label Aug 26, 2020
@XuHuaiyu
Copy link
Contributor

LGTM

@ti-srebot ti-srebot added status/LGT2 Indicates that a PR has LGTM 2. and removed status/LGT1 Indicates that a PR has LGTM 1. labels Aug 27, 2020
@XuHuaiyu
Copy link
Contributor

/merge

@ti-srebot ti-srebot added the status/can-merge Indicates a PR has been approved by a committer. label Aug 27, 2020
@ti-srebot
Copy link
Contributor Author

/run-all-tests

@ti-srebot ti-srebot merged commit 1fec254 into pingcap:release-3.1 Aug 27, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
sig/execution SIG execution status/can-merge Indicates a PR has been approved by a committer. status/LGT2 Indicates that a PR has LGTM 2. type/bugfix This PR fixes a bug. type/3.1-cherry-pick
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants