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

   ## What problem does this PR solve?
   
   Cancelling or closing an unfinished Arrow Flight result stream stops the 
client RPC but leaves the BE result producer blocked on backpressure until 
timeout. Propagate early stream termination to the result buffer and its query 
context, while preserving normal EOF.
   
   Local reads check cancellation while waiting for data. Remote reads 
interrupt outstanding BRPC waits and send a bounded cancellation request to the 
result BE. Query cancellation runs outside result-buffer locks and uses a weak 
reference to the owning query, since the buffer key can be a fragment instance 
ID. A fetch arriving after cancellation now completes with an error instead of 
retaining its RPC closure.
   
   ## Validation
   
   - BE tests cover early close, destruction, normal EOF, blocked local reads, 
conversion errors, actual Flight RPC cancellation, remote BRPC cancellation, 
and fetch/cancel ordering.
   - Added an Arrow Flight regression that reads one batch, closes or cancels 
the stream, verifies the query's BE pipelines disappear within 20 seconds, and 
checks connection reuse and normal completion. The query timeout is 120 seconds 
to keep timeout cleanup from satisfying the assertion.
   - The regression reproduced the expected blocked result sink on the unfixed 
local cluster. Full execution against a rebuilt FE/BE cluster is pending CI.
   - 10 local ASAN tests passed in 10 consecutive runs (100 executions); 
clang-format 16 and git diff whitespace checks passed.
   
   Remote cancellation uses an optional internal request field; during a 
rolling upgrade, result BEs running older code still rely on their existing 
timeout cleanup.
   


-- 
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