You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@zookeeper.apache.org by "tokoot (JIRA)" <ji...@apache.org> on 2013/03/15 08:34:12 UTC

[jira] [Created] (ZOOKEEPER-1669) Operations to server will be timed-out while thousands of sessions expired same time

tokoot created ZOOKEEPER-1669:
---------------------------------

             Summary: Operations to server will be timed-out while thousands of sessions expired same time
                 Key: ZOOKEEPER-1669
                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1669
             Project: ZooKeeper
          Issue Type: Improvement
          Components: server
    Affects Versions: 3.3.5
            Reporter: tokoot


If there are thousands of clients, and most of them disconnect with server same time(client restarted or servers partitioned with clients), the server will busy to close those "connections" and become unavailable. The problem is in following:
  private void closeSessionWithoutWakeup(long sessionId) {
      HashSet<NIOServerCnxn> cnxns;
          synchronized (this.cnxns) {
              cnxns = (HashSet<NIOServerCnxn>)this.cnxns.clone();  // other thread will block because of here
          }
      ...
  }


--
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