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

   Problem Summary:
   The real queue mutation paths all re-check _is_cancelled before touching 
_block_queue, but cancel() still used a two-lock pattern and close() ran 
delayed RPC done callbacks while holding the queue mutex. That made ownership 
of queued BlockItem callbacks harder to reason about and left some debug reads 
of queue state outside the mutex.
   
   This change makes cancel() and close() move queued BlockItems into a local 
list while holding _lock, then runs call_done() after the member queue is fully 
detached and the lock is released. It also locks get_batch()'s debug-only 
invariant read and debug_string()'s queue-state read.


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