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

distsql: check the killed flag in the distsql package (#15592) #15617

Merged
merged 3 commits into from
Mar 25, 2020

Conversation

sre-bot
Copy link
Contributor

@sre-bot sre-bot commented Mar 24, 2020

cherry-pick #15592 to release-4.0


What problem does this PR solve?

Problem Summary:

Fix an issue from the forum https://asktug.com/t/tidb-new-feature-max-execution-time/309

select user_id,user_name,user_content  from test where user_content = '123456';

There is no index in this query and TiKV scans the whole table.
max_excution_time doesn't work because the killed flag is checked in each Next function,
the code doesn't run to Next until it read sufficient rows in a chunk.

What is changed and how it works?

Check the killed flag in the distsql package level, so the query could break after reading each region result. The code looks like that:

for  {
        if region result == nil {
               fetch next region
        }
        fillChunkWithRegionResult
}

https://github.com/pingcap/tidb/compare/master...tiancaiamao:coprocessor-kill?expand=1#diff-7492d01b7aac81533194642850a45b8eR206

Related changes

#14552
#12852

  • Need to cherry-pick to the release branch

Check List

Tests

  • No code

Release note

Improve max-execution-time usability by checking the interrupt signal when a new region data is read.

@sre-bot sre-bot requested a review from a team as a code owner March 24, 2020 03:27
@sre-bot
Copy link
Contributor Author

sre-bot commented Mar 24, 2020

/run-all-tests

Copy link
Member

@jackysp jackysp left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Copy link
Contributor

@lysu lysu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@jackysp
Copy link
Member

jackysp commented Mar 25, 2020

/merge

@sre-bot sre-bot added the status/can-merge Indicates a PR has been approved by a committer. label Mar 25, 2020
@sre-bot
Copy link
Contributor Author

sre-bot commented Mar 25, 2020

/run-all-tests

@sre-bot
Copy link
Contributor Author

sre-bot commented Mar 25, 2020

@sre-bot merge failed.

@jackysp
Copy link
Member

jackysp commented Mar 25, 2020

/merge

@sre-bot
Copy link
Contributor Author

sre-bot commented Mar 25, 2020

/run-all-tests

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

@zz-jason zz-jason added the status/LGT2 Indicates that a PR has LGTM 2. label Mar 25, 2020
@zz-jason
Copy link
Member

/merge

@sre-bot
Copy link
Contributor Author

sre-bot commented Mar 25, 2020

Your auto merge job has been accepted, waiting for 15631

@sre-bot
Copy link
Contributor Author

sre-bot commented Mar 25, 2020

/run-all-tests

@sre-bot sre-bot merged commit 9cc1f9a into pingcap:release-4.0 Mar 25, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component/server 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/enhancement The issue or PR belongs to an enhancement. type/4.0-cherry-pick
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants