[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-2069?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14236331#comment-14236331
 ] 

Hongchao Deng commented on ZOOKEEPER-2069:
------------------------------------------

Uploaded 'v-14' patch that's the latest change but use NIO by default. The 
patch in RB use Netty by default because I tested it in my Jenkins.

This change makes the logic much simpler and refactors a few code, notably:
1. wakeupCnxn is broken into two calls: packetAdded(), onClosing()
2. pendingQueue is ConcurrentLinkedQueue
3. outgoingQUeue is LinkedBlockingDeque
4. I studies the code of Sasl process and figure out iterating the whole queue 
is a waste. The sasl just sends the first priming packet and then block other 
packets until completed.
5. Fix a flaky test (testNonExistingOp) because in Netty reads and writes are 
in parallel so exist() could go first before server sendCloseSession()
6. refactoring

Feedback is highly welcome!

> Netty Support for ClientCnxnSocket
> ----------------------------------
>
>                 Key: ZOOKEEPER-2069
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2069
>             Project: ZooKeeper
>          Issue Type: Sub-task
>            Reporter: Hongchao Deng
>            Assignee: Hongchao Deng
>         Attachments: QA-run-nettyclient-for-test.patch, 
> ZOOKEEPER-2069-v10-channel.patch, ZOOKEEPER-2069-v11.patch, 
> ZOOKEEPER-2069-v12.patch, ZOOKEEPER-2069-v14.patch, ZOOKEEPER-2069-v2.patch, 
> ZOOKEEPER-2069-v3.patch, ZOOKEEPER-2069-v4.patch, ZOOKEEPER-2069-v5.patch, 
> ZOOKEEPER-2069-v6.patch, ZOOKEEPER-2069-v7.patch, ZOOKEEPER-2069-v8.patch, 
> ZOOKEEPER-2069-v9.1.patch, ZOOKEEPER-2069-v9.2.patch, 
> ZOOKEEPER-2069-v9.patch, ZOOKEEPER-2069.patch, draft.patch
>
>
> Review Board: https://reviews.apache.org/r/27244/diff/#



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to