[
https://issues.apache.org/jira/browse/THRIFT-3059?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
James E. King III updated THRIFT-3059:
--------------------------------------
Priority: Major (was: Critical)
> Performance issues of "TThreadedSelectorServer"
> -----------------------------------------------
>
> Key: THRIFT-3059
> URL: https://issues.apache.org/jira/browse/THRIFT-3059
> Project: Thrift
> Issue Type: Improvement
> Components: Java - Library
> Affects Versions: 0.9.2
> Reporter: Xiaoshuang LU
> Priority: Major
>
> Let's assume that there is a client or a thread talks with
> "TThreadedSelectorServer" by a transport. During this period, no other
> clients or threads could send or receive data via this transport, i.e. the
> transport is exclusive. As a result, the performance/throughput of the
> server could not be utilized as much as possible.
> On the other hand, if we don't care about the performance, could these
> transports be shared by different clients or threads? I am afraid that the
> answer is negative. Even we suppose that both reading messages from
> transports and writing messages to transports are atomic operations,
> transports still could not be multiplexed because clients do not know how to
> pick up their own responses from the stream.
> We may add queues to hold the calls at both client sides and server sides. I
> think Hadoop RPC provides a good reference implementation.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)