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

Jacky007 commented on ZOOKEEPER-107:
------------------------------------

Hi Alexander Shraer, it is a bug of the java client.
In the doIO method of ClientCnxnSocketNIO
{noformat}
 if (p != null) {
                    outgoingQueue.removeFirstOccurrence(p);
                    updateLastSend();
                    if ((p.requestHeader != null) &&
                            (p.requestHeader.getType() != OpCode.ping) &&
                            (p.requestHeader.getType() != OpCode.auth)) {
                        p.requestHeader.setXid(cnxn.getXid());
                    }
                    p.createBB();
                    ByteBuffer pbb = p.bb;
                    sock.write(pbb);
                    if (!pbb.hasRemaining()) {
                        sentCount++;
                        if (p.requestHeader != null
                                && p.requestHeader.getType() != OpCode.ping
                                && p.requestHeader.getType() != OpCode.auth) {
                            pending.add(p);
                        }
                    }
{noformat}

Remove packet before the sock.write() line will cause some request wait 
forever. We should do that after the sock.write() line.
Should we open a new jira for this?
                
> Allow dynamic changes to server cluster membership
> --------------------------------------------------
>
>                 Key: ZOOKEEPER-107
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-107
>             Project: ZooKeeper
>          Issue Type: Improvement
>          Components: server
>            Reporter: Patrick Hunt
>            Assignee: Alexander Shraer
>             Fix For: 3.5.0
>
>         Attachments: SimpleAddition.rtf, zkreconfig-usenixatc-final.pdf, 
> ZOOKEEPER-107-1-Mar.patch, ZOOKEEPER-107-20-July.patch, 
> ZOOKEEPER-107-21-July.patch, ZOOKEEPER-107-22-Apr.patch, 
> ZOOKEEPER-107-23-SEP.patch, ZOOKEEPER-107-28-Feb.patch, 
> ZOOKEEPER-107-28-Feb.patch, ZOOKEEPER-107-29-Feb.patch, 
> ZOOKEEPER-107-3-Oct.patch, ZOOKEEPER-107-Aug-20.patch, 
> ZOOKEEPER-107-Aug-20-ver1.patch, ZOOKEEPER-107-Aug-25.patch, 
> zookeeper-3.4.0.jar, zookeeper-dev-fatjar.jar, 
> zookeeper-reconfig-sep11.patch, zookeeper-reconfig-sep12.patch, 
> zoo_replicated1.cfg, zoo_replicated1.members
>
>
> Currently cluster membership is statically defined, adding/removing hosts 
> to/from the server cluster dynamically needs to be supported.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to