> The connection queue for Processors will be changed to ArrayBlockingQueue 
> with a fixed size of 20. Acceptor will use round-robin allocation to allocate 
> each new connection to the next available Processor to which the connection 
> can be added without blocking. If a Processor's queue is full, the next 
> Processor will be chosen. If the connection queue on all Processors are full, 
> Acceptor blocks until the connection can be added to the selected Processor. 
> No new connections will be accepted during this period. The amount of time 
> Acceptor is blocked can be monitored using the new AcceptorIdlePercent metric.

So if the queue of one Processor is full, what is the strategy to move 
to the next queue? Are we using offer with a timeout here? How else can 
we make sure that a single slow processor will not block the entire 
processing? I assume we do not allow us to get stuck during put as you 
mention that all queues full is a scenario. I think there is quite some 
uncertainty here. Is there any code one could check out?

Best Jan

Reply via email to