-
Notifications
You must be signed in to change notification settings - Fork 3.7k
[fix](thrift) Pick THRIFT-5492: Add readEnd to TBufferedTransport #49649
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
Conversation
From https://issues.apache.org/jira/browse/THRIFT-5492: The remainingMessageSize_ is decremented as messages are parsed, for example when parsing a field in the message that is of type binary I see the code calling readStringBody in TBinaryProtocol.tcc:455 which then calls this->trans_->consume(size) which goes to TBufferTransports.h:124 and calls countConsumedMessageBytes which finally decrements remainingMessageSize_. However, nothing ever resets remainingMessageSize_, so after it is decremented from 100*1024*1024 down to zero it fails with an END_OF_FILE exception.
|
Thank you for your contribution to Apache Doris. Please clearly describe your PR:
|
dataroaring
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
|
PR approved by at least one committer and no changes requested. |
|
PR approved by anyone and no changes requested. |
|
run buildall |
TPC-H: Total hot run time: 33950 ms |
TPC-DS: Total hot run time: 185737 ms |
ClickBench: Total hot run time: 31.18 s |
BE UT Coverage ReportIncrement line coverage Increment coverage report
|
What problem does this PR solve?
Issue Number: close #xxx
Related PR: #xxx
Problem Summary:
From https://issues.apache.org/jira/browse/THRIFT-5492:
The remainingMessageSize_ is decremented as messages are parsed, for example when parsing a field in the message that is of type binary I see the code calling readStringBody in TBinaryProtocol.tcc:455 which then calls this->trans_->consume(size) which goes to TBufferTransports.h:124 and calls countConsumedMessageBytes which finally decrements remainingMessageSize_.
However, nothing ever resets remainingMessageSize_, so after it is decremented from 10010241024 down to zero it fails with an END_OF_FILE exception.
Release note
None
Check List (For Author)
Test
Behavior changed:
Does this need documentation?
Check List (For Reviewer who merge this PR)