From dev-return-72184-archive-asf-public=cust-asf.ponee.io@zookeeper.apache.org Wed Aug 8 09:23:05 2018 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 [140.211.11.3]) by mx-eu-01.ponee.io (Postfix) with SMTP id A0F50180600 for ; Wed, 8 Aug 2018 09:23:04 +0200 (CEST) Received: (qmail 68560 invoked by uid 500); 8 Aug 2018 07:23:03 -0000 Mailing-List: contact dev-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 dev@zookeeper.apache.org Received: (qmail 68549 invoked by uid 99); 8 Aug 2018 07:23:03 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd1-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 08 Aug 2018 07:23:03 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd1-us-west.apache.org (ASF Mail Server at spamd1-us-west.apache.org) with ESMTP id 1C4D5CC1F3 for ; Wed, 8 Aug 2018 07:23:03 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -109.501 X-Spam-Level: X-Spam-Status: No, score=-109.501 tagged_above=-999 required=6.31 tests=[ENV_AND_HDR_SPF_MATCH=-0.5, KAM_ASCII_DIVIDERS=0.8, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001, USER_IN_DEF_SPF_WL=-7.5, USER_IN_WHITELIST=-100] autolearn=disabled Received: from mx1-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd1-us-west.apache.org [10.40.0.7]) (amavisd-new, port 10024) with ESMTP id WNTg7p3SF6Oy for ; Wed, 8 Aug 2018 07:23:02 +0000 (UTC) Received: from mailrelay1-us-west.apache.org (mailrelay1-us-west.apache.org [209.188.14.139]) by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with ESMTP id 74EBF5F35A for ; Wed, 8 Aug 2018 07:23:01 +0000 (UTC) Received: from jira-lw-us.apache.org (unknown [207.244.88.139]) by mailrelay1-us-west.apache.org (ASF Mail Server at mailrelay1-us-west.apache.org) with ESMTP id A0966E0239 for ; Wed, 8 Aug 2018 07:23:00 +0000 (UTC) Received: from jira-lw-us.apache.org (localhost [127.0.0.1]) by jira-lw-us.apache.org (ASF Mail Server at jira-lw-us.apache.org) with ESMTP id 6364423F9A for ; Wed, 8 Aug 2018 07:23:00 +0000 (UTC) Date: Wed, 8 Aug 2018 07:23:00 +0000 (UTC) From: "Hudson (JIRA)" To: dev@zookeeper.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (ZOOKEEPER-2926) Data inconsistency issue due to the flaw in the session management MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/ZOOKEEPER-2926?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16572791#comment-16572791 ] Hudson commented on ZOOKEEPER-2926: ----------------------------------- SUCCESS: Integrated in Jenkins build ZooKeeper-trunk #143 (See [https://builds.apache.org/job/ZooKeeper-trunk/143/]) ZOOKEEPER-2926: Fix potential data consistency issue due to the session (hanm: rev cd209456b67cde5aba771b1a240ebe5607398459) * (edit) src/java/test/org/apache/zookeeper/test/ClientBase.java * (edit) src/java/main/org/apache/zookeeper/server/SessionTrackerImpl.java * (edit) src/java/test/org/apache/zookeeper/server/MockServerCnxn.java * (edit) src/java/main/org/apache/zookeeper/server/SessionTracker.java * (edit) src/java/main/org/apache/zookeeper/server/quorum/LearnerSessionTracker.java * (edit) src/java/test/org/apache/zookeeper/server/PrepRequestProcessorTest.java * (add) src/java/test/org/apache/zookeeper/server/quorum/SessionUpgradeQuorumTest.java * (edit) src/java/test/org/apache/zookeeper/test/QuorumBase.java * (edit) src/java/main/org/apache/zookeeper/server/ZooKeeperServer.java * (edit) src/java/test/org/apache/zookeeper/server/SessionTrackerTest.java * (edit) src/java/main/org/apache/zookeeper/server/PrepRequestProcessor.java * (edit) src/java/test/org/apache/zookeeper/test/SessionTrackerCheckTest.java * (edit) src/java/main/org/apache/zookeeper/server/quorum/LocalSessionTracker.java * (edit) src/java/main/org/apache/zookeeper/server/ServerCnxn.java * (edit) src/java/main/org/apache/zookeeper/server/quorum/LeaderSessionTracker.java * (edit) src/java/main/org/apache/zookeeper/server/quorum/UpgradeableSessionTracker.java > Data inconsistency issue due to the flaw in the session management > ------------------------------------------------------------------ > > Key: ZOOKEEPER-2926 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2926 > Project: ZooKeeper > Issue Type: Bug > Components: server > Affects Versions: 3.5.3, 3.6.0 > Reporter: Fangmin Lv > Assignee: Fangmin Lv > Priority: Critical > Labels: pull-request-available > Fix For: 3.6.0 > > Time Spent: 3h 10m > Remaining Estimate: 0h > > The local session upgrading feature will upgrade the session locally before receving a quorum commit of creating global session. It's possible that the server shutdown before the creating session request being sent to leader, if we retained the ZKDatabase or there is Snapshot happened just before shutdown, then only this server will have the global session. > If that server didn't become leader, then it will have more global sessions than others, and those global sessions won't expire as the leader doesn't know it's existence. If the server became leader, it will accept the client renew session request and the client is allowed to create ephemeral nodes, which means other servers only have ephemeral nodes but not that global session. If there is follower going to have SNAP sync with it, then it will also have the global session. If the server without that global session becomes new leader, it will check and delete those dangling ephemeral node before serving traffic. These could introduce the issues that the ephemeral node being exist on some servers but not others. > There is dangling global session issue even without local session feature, because on leader it will update the ZKDatabase when processing ConnectionRequest and in the PrepRequestProcessor before it's quorum committed, which also has this risk. -- This message was sent by Atlassian JIRA (v7.6.3#76005)