From notifications-return-1891-archive-asf-public=cust-asf.ponee.io@zookeeper.apache.org Wed Sep 18 15:34:02 2019 Return-Path: X-Original-To: archive-asf-public@cust-asf.ponee.io Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [207.244.88.153]) by mx-eu-01.ponee.io (Postfix) with SMTP id 5D2D6180680 for ; Wed, 18 Sep 2019 17:34:01 +0200 (CEST) Received: (qmail 95868 invoked by uid 500); 18 Sep 2019 15:34:00 -0000 Mailing-List: contact notifications-help@zookeeper.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@zookeeper.apache.org Delivered-To: mailing list notifications@zookeeper.apache.org Received: (qmail 95812 invoked by uid 99); 18 Sep 2019 15:34:00 -0000 Received: from ec2-52-202-80-70.compute-1.amazonaws.com (HELO gitbox.apache.org) (52.202.80.70) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 18 Sep 2019 15:34:00 +0000 From: GitBox To: notifications@zookeeper.apache.org Subject: [GitHub] [zookeeper] anmolnar commented on a change in pull request #1045: ZOOKEEPER-3400: Add documentation on local sessions Message-ID: <156882084064.30556.11875768033176436538.gitbox@gitbox.apache.org> Date: Wed, 18 Sep 2019 15:34:00 -0000 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit anmolnar commented on a change in pull request #1045: ZOOKEEPER-3400: Add documentation on local sessions URL: https://github.com/apache/zookeeper/pull/1045#discussion_r325746683 ########## File path: zookeeper-docs/src/main/resources/markdown/zookeeperProgrammers.md ########## @@ -503,6 +503,88 @@ new list and failing to connect, the client moves back to the normal mode of ope an arbitrary server from the connectString and attempts to connect to it. If that fails, it will continue trying different random servers in round robin. (see above the algorithm used to initially choose a server) +**local session**.Added in 3.5.0, mainly implemented by [ZOOKEEPER-1147](https://issues.apache.org/jira/browse/ZOOKEEPER-1147). + +- Background:The creation and closing of sessions are costly in ZooKeeper because they need quorum confirmations, + They become the bottleneck of a ZooKeeper ensemble when it needs to handle thousands of client connections. +So after 3.5.0, we introduce a new type of session: local session which doesn't have a full functionality of a normal(global) session. +,this feature will be available by turning on *localSessionsEnabled*. + +when *localSessionsUpgradingEnabled* is disable: + +- Local sessions cannot create ephemeral nodes + +- Once a local session is lost, users cannot re-establish it using the session-id/password. The session and its watches are gone for good. + Note: Losing the tcp connection does not necessarily imply that the session is lost. If the connection can be reestablished with the same zk server + before the session timeout then the client can continue (it simply cannot move to another server). + +- When a local session connects, the session info is only maintained on the zookeeper server that it is connected to. The leader is not aware of the creation of such a session and +there is no state written to disk. + +- The pings, expiration and other session state maintenance are handled by the server which current session is connected to. + +when *localSessionsUpgradingEnabled* is enable: + +- A local session can be upgraded to the global session automatically. + +- When a new session is created it is saved locally in a wrapped *LocalSessionTracker*. It can subsequently be upgraded +to a global session as required(e.g. create ephemeral nodes).If an upgrade is requested the session is removed from local Review comment: Use space between sentences. ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: users@infra.apache.org With regards, Apache Git Services