[
https://issues.apache.org/jira/browse/THRIFT-5297?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17634885#comment-17634885
]
Stamatis Zampetakis commented on THRIFT-5297:
---------------------------------------------
Note that this is a breaking change with quite some impact. It changes the
existing behavior of the threadpool and also removes public APIs.
> Improve TThreadPoolServer Handling of Incoming Connections
> ----------------------------------------------------------
>
> Key: THRIFT-5297
> URL: https://issues.apache.org/jira/browse/THRIFT-5297
> Project: Thrift
> Issue Type: Improvement
> Components: Java - Library
> Environment: th
> Reporter: David Mollitor
> Assignee: David Mollitor
> Priority: Major
> Fix For: 0.14.0
>
> Time Spent: 1h 40m
> Remaining Estimate: 0h
>
> * Uses a confusing variable {{stopTimeoutVal}} to control TTL for threads in
> its thread pools. This configuration is also used to configure how long to
> wait for server to shutdown. Just set a reasonable default TTL and leave it
> at that unless someone can demonstrate a strong need
> * If the thread pool is full, there is a configurable back-off time waited
> for more room to become available in the pool. This adds a lot of complexity
> to the code and doesn't make a whole lot of sense. Any kind of back-off
> should be implemented on the client side. The server should simply reject
> requests if it is overloaded and allow the clients to back off. Right now,
> since the main thread has to sleep some number of milliseconds, it could be
> the case that N slots have opened in the pool, but the main thread is still
> waiting for its sleep cycle to end, thus wasting time. The behavior should
> be to simply reject the connection if the work queue is saturated.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)