thrift-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From David Reiss <dre...@facebook.com>
Subject Re: Java Server Does Not Close Sockets immediately for oneway methods
Date Thu, 11 Feb 2010 17:28:20 GMT
We don't close the sockets because you are allowed to send multiple requests
over the same connection.

Requests received over the same connection are processed serially, in order.

Does that answer your question?

Utku Can Top├žu wrote:
> While experimenting with the oneway (asynchronous) service calls to a Java
> Service, we've faced a serious connection overload.
> Currently we're using TBufferedTransport together with TThreadPoolServer on
> the Server side.
> Diving deep into the Java Thrift Libraries, auto-generated Java classes and
> debugging the code, we've seen that the oneway void methods on the Java
> Server side does not close the "TSocket"s that are related to the methods in
> question.
> 
> Is this a design decision? Should we treat this as a bug?
> 
> Our current solution to this problem is employing a ThreadPoolExecutor for
> each oneway method, we immediately transform the asynchronous requests into
> Runnables and place them in the thread pool and return from the method.
> 
> I think a similar approach should be implemented in the Thrift Java
> libraries.
> 
> What do you think on this issue?
> 
> Best Regards,
> Utku

Mime
View raw message