GJ100 commented on issue #68169:
URL: https://github.com/apache/doris/issues/68169#issuecomment-5727204216
Thanks for the thorough and helpful review!
Regarding the points raised:
1. **Why it stayed alive for >3400s**:
In our production environment, the effective `query_timeout` for this
database/user session was configured to **3600s (1 hour)** (for occasional
large ETL queries), while client microservices have a strict short network
timeout of 3-5s.
When a point-lookup or simple query encountered a lock wait / heavy
compaction on BE, the client timed out at 3s and disconnected, but because of
this gap, the orphaned query held the workload group slot for nearly an hour
(approaching 3600s), starving all queued short queries in the same group!
2. **Non-blocking cancellation in XNIO close listener**:
Agreed! In our patch for `ConnectPoolMgr.unregisterConnection()`, we will
ensure cancellation is invoked with `needWaitCancelComplete = false` (or
asynchronously) so that the XNIO transport thread is never blocked.
3. **Coordination with PR #68101**:
We will base our patch on current master and coordinate with PR #68101 to
ensure the MySQL disconnect path properly triggers non-blocking cancellation
before session teardown.
We will prepare the PR with the unit tests and non-blocking cancellation
accordingly!
--
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]