[ 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)