[ https://issues.apache.org/jira/browse/ZOOKEEPER-733?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12899046#action_12899046 ]
Patrick Hunt commented on ZOOKEEPER-733: ---------------------------------------- Def some refactorings that would be done. wrt issue 1) that sergey raised the issue is that when using nio we can "hand off" the socket to the thread, which uses blocking io to ensure that the client receives the results before we close the socket. With Netty we don't have this option, so we can't process the request as a subthread. Also notice that netty is spawning workers as necessary (up to some limit) so in that case we don't spawn a thread - although it's questionable whether this is a good idea as the total pool size is limited (in real production case). > use netty to handle client connections > -------------------------------------- > > Key: ZOOKEEPER-733 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-733 > Project: Zookeeper > Issue Type: Improvement > Components: server > Reporter: Benjamin Reed > Assignee: Patrick Hunt > Fix For: 3.4.0 > > Attachments: accessive.jar, flowctl.zip, moved.zip, > QuorumTestFailed_sessionmoved_TRACE_LOG.txt.gz, ZOOKEEPER-733.patch, > ZOOKEEPER-733.patch, ZOOKEEPER-733.patch, ZOOKEEPER-733.patch, > ZOOKEEPER-733.patch, ZOOKEEPER-733.patch, ZOOKEEPER-733.patch, > ZOOKEEPER-733.patch, ZOOKEEPER-733.patch > > > we currently have our own asynchronous NIO socket engine to be able to handle > lots of clients with a single thread. over time the engine has become more > complicated. we would also like the engine to use multiple threads on > machines with lots of cores. plus, we would like to be able to support things > like SSL. if we switch to netty, we can simplify our code and get the > previously mentioned benefits. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.