Hello, folks I propose a PR (https://github.com/apache/thrift/pull/1892) for a nonblocking thrift server (java) implementation with sasl support. The idea is that some of our services using `TThreadPoolServer` are facing some scaling issues with increasing number of connections, and we would like to refactor them with a nonblocking server while still being able to secure them with sasl. One example of such services is hive metastore, and hive community seems agreed with the idea of using a nonblocking server ( https://issues.apache.org/jira/browse/HIVE-22306)
In my PR, I provide `TNonblockingSaslServer` which has one thread listening for new incoming connections, and separate thread pools for network io, sasl authentication, and processing. For each (nonblocking) connection, there is a state machine `NonblockingSaslHandler` managing the lifecycle, which is event driven by network io. It would be great if I can get some feedback and code review on my PR. Cheers, Le ven. 19 juil. 2019 à 12:41, XU Qinghui <qinghui...@gmail.com> a écrit : > Thrift folks, > > Recently we are facing a scaling issue with the thrift server > (TThreadPoolServer) when there are a lot of connections. We would like to > use the non blocking server implementations, but it seems it miss SASL > support there (as far as I understand, SASL is only added for blocking > servers in THRIFT-876). > So I would like to implement SASL for non blocking servers (THRIFT-4889). > Do you have some advices? > > Best regards, > Qinghui >