Skip to content

[fix](cloud) Fix SchemaVariablesScanner crash due to incomplete FE response (#65994) - #66190

Open
deardeng wants to merge 1 commit into
apache:branch-4.1from
deardeng:codex/pick-65994-to-branch-4.1
Open

[fix](cloud) Fix SchemaVariablesScanner crash due to incomplete FE response (#65994)#66190
deardeng wants to merge 1 commit into
apache:branch-4.1from
deardeng:codex/pick-65994-to-branch-4.1

Conversation

@deardeng

Copy link
Copy Markdown
Contributor

pick from #65994
Problem Summary: When the Thrift connection to FE is unstable, a partially deserialized TShowVariableResult can contain variable rows with fewer than four fields. SchemaVariablesScanner accessed fields 0 through 3 unconditionally and could crash the BE process. Validate every row before accessing its fields and return an InternalError asking the user to retry when the response is incomplete.

Release note

Fix a BE crash when scanning variables after receiving an incomplete FE response; the query now returns an error asking the user to retry.

(cherry picked from commit d3bf6b8)

What problem does this PR solve?

Issue Number: close #xxx

Related PR: #xxx

Problem Summary:

Release note

None

Check List (For Author)

  • Test

    • Regression test
    • Unit Test
    • Manual test (add detailed scripts or steps below)
    • No need to test or manual test. Explain why:
      • This is a refactor/code format and no logic has been changed.
      • Previous test can cover this change.
      • No code files have been changed.
      • Other reason
  • Behavior changed:

    • No.
    • Yes.
  • Does this need documentation?

    • No.
    • Yes.

Check List (For Reviewer who merge this PR)

  • Confirm the release note
  • Confirm test cases
  • Confirm document
  • Add branch pick label

…sponse (apache#65994)

Problem Summary: When the Thrift connection to FE is unstable, a
partially deserialized TShowVariableResult can contain variable rows
with fewer than four fields. SchemaVariablesScanner accessed fields 0
through 3 unconditionally and could crash the BE process. Validate every
row before accessing its fields and return an InternalError asking the
user to retry when the response is incomplete.

### Release note

Fix a BE crash when scanning variables after receiving an incomplete FE
response; the query now returns an error asking the user to retry.

(cherry picked from commit d3bf6b8)
@deardeng
deardeng requested a review from yiguolei as a code owner July 28, 2026 12:43
@hello-stephen

Copy link
Copy Markdown
Contributor

Thank you for your contribution to Apache Doris.
Don't know what should be done next? See How to process your PR.

Please clearly describe your PR:

  1. What problem was fixed (it's best to include specific error reporting information). How it was fixed.
  2. Which behaviors were modified. What was the previous behavior, what is it now, why was it modified, and what possible impacts might there be.
  3. What features were added. Why was this function added?
  4. Which code was refactored and why was this part of the code refactored?
  5. Which functions were optimized and what is the difference before and after the optimization?

@deardeng

Copy link
Copy Markdown
Contributor Author

run buildall

@hello-stephen

Copy link
Copy Markdown
Contributor

BE Regression && UT Coverage Report

Increment line coverage 44.44% (4/9) 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 73.17% (29234/39956)
Line Coverage 56.89% (319326/561257)
Region Coverage 54.05% (267072/494111)
Branch Coverage 54.87% (118000/215073)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants