HappenLee opened a new pull request, #66443:
URL: https://github.com/apache/doris/pull/66443

   ### What problem does this PR solve?
   
   Issue Number: None
   
   Related PR: None
   
   Problem Summary: TopN lazy materialization sends reusable rowid-fetch RPC 
requests to every target backend. A backend request can contain no row IDs for 
a batch, but a transport failure for that no-op request previously aborted the 
query. If such a failure left no response blocks, response merging could also 
read a missing or stale response. Ignore transport failures only when the 
request has no rows, clear reused responses before dispatch, and skip 
deserialization for empty per-relation requests. Requests containing rows and 
all backend-reported errors still fail.
   
   ### Release note
   
   Fix TopN lazy materialization queries that fail when an empty rowid-fetch 
RPC encounters a transport error.
   
   ### Check List (For Author)
   
   - Test
       - [ ] Regression test
       - [x] Unit Test
           - ./run-be-ut.sh -j 48 --run 
--filter=MaterializationSharedStateTest.* (8 tests passed)
       - [ ] Manual test (add detailed scripts or steps below)
       - [ ] No need to test or manual test. Explain why:
   - Behavior changed:
       - [ ] No.
       - [x] Yes. Transport failures for rowid-fetch requests with no rows are 
ignored; requests with rows and backend-reported errors still fail.
   - Does this need documentation?
       - [x] No.
       - [ ] Yes.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to