Patrick Hunt commented on ZOOKEEPER-823:

Unfortunately this change is one that touches some code that's very complex. As 
a result it's going to take some time to work out all the issues. Also given 
that it's refactoring classes into new classes it's hard to refactor other 
stuff before we get this in. This is not typical of our changes, but it does 
happen. Hopefully the other refactorings you are suggesting (Thomas) will help 
with this going fwd.

bq. phunt: NettyNettySuiteTest - 

You read that right. The conditions it tests are that the auth is handled 
properly when the connection is eventually established. There's another issue 
though, thats handling flow control on the session. Notice that during session 
establishment the NIO code disables recv after getting the session create 
request, then handles the auth request. This was a big problem (and might still 
be an issue with netty refactoring) with netty and may still have a bug or two. 
Notice that netty reads the entire tcp queue, not just a packet at a time as 
NIO does. as a result there is no way to do flow control (as we do with nio) at 
the socket level with netty. In the netty case notice that we have an 
additional layer on top where we queue the pending requests (ones that have 
been read from netty socket but not yet accepted by our clientcnxn code). I'd 
look at this for clues.

bq. phunt: NettyNettySuiteTest - 

this fails for me every time I run it. I suspect that the join will never 
complete. This is probably due to the closing=true change for ZOOKEEPER-846. We 
must not be doing the right thing with that patch (846) naively merged into 
this patch. (I didn't see this error until I applied 846 to this patch)

Here are my machine specs for a machine where I see failures:
 2.6.18-164.15.1.el5 #1 SMP Wed Mar 17 11:30:06 EDT 2010 x86_64 x86_64 x86_64 
16 cores:  model name      : Intel(R) Xeon(R) CPU           E5530  @ 2.40GHz

There's also this issue I reported:

> update ZooKeeper java client to optionally use Netty for connections
> --------------------------------------------------------------------
>                 Key: ZOOKEEPER-823
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-823
>             Project: Zookeeper
>          Issue Type: New Feature
>          Components: java client
>            Reporter: Patrick Hunt
>            Assignee: Patrick Hunt
>             Fix For: 3.4.0
>         Attachments: NettyNettySuiteTest.rtf, 
> TEST-org.apache.zookeeper.test.NettyNettySuiteTest.txt.gz, 
> ZOOKEEPER-823.patch, ZOOKEEPER-823.patch, ZOOKEEPER-823.patch, 
> ZOOKEEPER-823.patch, ZOOKEEPER-823.patch, ZOOKEEPER-823.patch, 
> ZOOKEEPER-823.patch
> This jira will port the client side connection code to use netty rather than 
> direct nio.

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