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) #15616

Merged
merged 3 commits into from
Mar 30, 2020

Conversation

sre-bot
Copy link
Contributor

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

cherry-pick #15592 to release-3.1


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.

Signed-off-by: sre-bot <sre-bot@pingcap.com>
@sre-bot
Copy link
Contributor Author

sre-bot commented Mar 24, 2020

/run-all-tests

@tiancaiamao
Copy link
Contributor

PTAL @lysu @jackysp

Copy link
Collaborator

@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

@lysu lysu added the status/LGT1 Indicates that a PR has LGTM 1. label Mar 30, 2020
@bb7133
Copy link
Member

bb7133 commented Mar 30, 2020

LGTM

@bb7133
Copy link
Member

bb7133 commented Mar 30, 2020

/merge

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

sre-bot commented Mar 30, 2020

/run-all-tests

@sre-bot sre-bot merged commit e4f5426 into pingcap:release-3.1 Mar 30, 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/LGT1 Indicates that a PR has LGTM 1. type/enhancement type/3.1-cherry-pick
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants