Patrick Hunt updated ZOOKEEPER-733:

    Attachment: ZOOKEEPER-733.patch

Updated the patch to compile against trunk (started with 632 errors! :-) ). 
This is a checkpoint and not a final patch.

The tests almost all pass, however there are two issues in particular:

1) ACLTest sometimes fails due to a timing issue (legacy looks like) where the 
server may send an auth response before sending the connect response (out of 
order from what the client sent)

2) the session moved tests are failing - haven't dug into that yet but it looks 
like the tests themselves are broken - they don't account for the fact that the 
client will attempt to reconnect to the server when the server closes the 
connection (this is the "original" session, which was moved). Not sure how to 
solve this one yet and still have a valid test.


1) the patch currently defaults to Netty as the server cnxn factory, this 
should not be the case in the final patch
2) javadoc needs significant cleanup
3) netty ignores max client connection (need to verify)
4) server side request throttling may be broken (session)
5) need to review all of the code moved out of nioservercnxn.java - may be 
missing some patches applied (the merge was crazy).
6) I have not yet tested NIO to ensure that it still works
7) need to add support for configuring the netty/factory knobs
8) docs still need to be added
9) need to review logging; correct levels on existing, what needs to be added 
etc (logging is rough right now, added a number of logs to track down bugs that 
I found while updating the patch)
10) need to add ssl support (configurable) in netty

I added "accessive.jar" to enable testing of private vars (rather than exposing 
them in core code)
committer note: accessive.jar needs to be put into src/java/libtest

> use netty to handle client connections
> --------------------------------------
>                 Key: ZOOKEEPER-733
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-733
>             Project: Zookeeper
>          Issue Type: Improvement
>            Reporter: Benjamin Reed
>         Attachments: accessive.jar, 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.

Reply via email to