You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@zookeeper.apache.org by "Arshad Mohammad (JIRA)" <ji...@apache.org> on 2016/09/08 16:27:21 UTC

[jira] [Created] (ZOOKEEPER-2570) ZooKeeper server expires the client session when server is continuously under higher load

Arshad Mohammad created ZOOKEEPER-2570:
------------------------------------------

             Summary: ZooKeeper server expires the client session when server is continuously under higher load
                 Key: ZOOKEEPER-2570
                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2570
             Project: ZooKeeper
          Issue Type: Bug
            Reporter: Arshad Mohammad
            Assignee: Arshad Mohammad
            Priority: Critical


ZooKeeper server expires the client session when server is continuously under higher load. Below steps can reproduce the issue
# Create multi operation
{code}
List<Op> ops = new ArrayList<Op>();
        for (int i = 0; i < N; i++) {
            Op create = Op.create(rootNode + "/" + i, "".getBytes(), ZooDefs.Ids.OPEN_ACL_UNSAFE,
                    CreateMode.PERSISTENT);
            ops.add(create);
        }
{code}
Chose N in such a way that the total multi operation request  size is less than but near 1 MB.  For bigger request size increase jute.maxbuffer in servers
# Submit the multi operation request
{code} zooKeeper.multi(ops);{code} 
# After repeating above steps few times client throws  {{ConnectionLossException}}  and at server one can find log  "Expiring session 0x100b0ff5ecc0003, timeout of xxxxms exceeded"

Normally server expires session when it is not receiving ping from the client for longer than  the client's session time-out. But in this case client is continuously doing operation with the server.  So server should not expire the session.




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