Need a thread pool server that is fair in terms of invocations, not sockets
---------------------------------------------------------------------------
Key: THRIFT-5
URL: https://issues.apache.org/jira/browse/THRIFT-5
Project: Thrift
Issue Type: New Feature
Components: Library (Java)
Reporter: Bryan Duxbury
The current TThreadPoolServer in the Java libraries is suboptimal. If you
actually limit the upper bound of threads, and you have long-lived clients, and
you have more clients than you have max allowed threads, then any clients in
excess of the max number of threads will never be given a time slice to
execute.
Conceptually, it seems like the correct behavior here is for the individual
method invocations to be the items that end up on the thread pool's execution
queue, not the individual client sockets (as it is now). This would support
this and other use cases better.
Perhaps we should do a Half-Sync/Half-Async server to fulfill this goal?
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.