-
Notifications
You must be signed in to change notification settings - Fork 5.8k
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: use sys session to build view for info_schema.columns
retrieval (#33946)
#34251
executor: use sys session to build view for info_schema.columns
retrieval (#33946)
#34251
Conversation
Signed-off-by: ti-srebot <ti-srebot@pingcap.com>
[REVIEW NOTIFICATION] This pull request has been approved by:
To complete the pull request process, please ask the reviewers in the list to review by filling The full list of commands accepted by this bot can be found here. Reviewer can indicate their review by submitting an approval review. |
/run-all-tests |
@tangenta you're already a collaborator in bot's repo. |
This pull request is closed because it's related version has closed automatic cherry-picking. You can find more details at: |
/merge |
This pull request has been accepted and is ready to merge. Commit hash: b0300c2
|
/retest |
/merge |
This pull request has been accepted and is ready to merge. Commit hash: c42cf52
|
cherry-pick #33946 to release-5.2
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/34251
After apply modifications, you can push your change to this PR via:
What problem does this PR solve?
Issue Number: close #32459
Problem Summary:
From the panic cases related to
information_schema.columns
we encountered recently, the stack is like:All of these stacks have the common function:
tryFillViewColumnType
andfetchBuildSideRows
.tryFillViewColumnType
is used to extract the field type of a view ininformation_schema.columns
.fetchBuildSideRows
is used by HashJoinExec to get the build side of the result. It is run concurrently withfetchProbeSideChunks
to speed up the query.As explained in #32618, the root cause is: the goroutines created by
HashJoinExec
concurrently accessed a field in the same session.What is changed and how it works?
This PR uses a system session to
tryFillViewColumnType
, preventing the same session is accessed concurrently.Check List
Tests
Side effects
Documentation
Release note
Please refer to Release Notes Language Style Guide to write a quality release note.