serrislew commented on PR #13898:
URL: https://github.com/apache/trafficserver/pull/13898#issuecomment-6586886668

   Thanks for the detailed measurements. I'm keeping refuse global, for these 
reasons:
   - The backlog is per listen socket, not per thread. With accept_threads: 0 
the threads share one accept queue, and the shrink stage already acts on that 
queue globally. Refuse that depends on whichever thread happens to wake would 
mean different threads disagreeing about whether the same queue is being 
drained. That is hard to reason about and to observe. A single accept_refuse 
gauge and one accepts_refused counter give operators one clear state.
   - Refuse is meant as a node-level "shed everything" signal. It's the last 
resort after shrink, to be set above the shrink threshold. It isn't meant to 
isolate one bad thread. Containing a stalled thread is a separate problem, and 
master already handles part of it through exclusive wakeups.


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

Reply via email to