Return-Path: Delivered-To: apmail-hadoop-zookeeper-user-archive@minotaur.apache.org Received: (qmail 93585 invoked from network); 30 Jun 2010 23:56:37 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 30 Jun 2010 23:56:37 -0000 Received: (qmail 54950 invoked by uid 500); 30 Jun 2010 23:56:37 -0000 Delivered-To: apmail-hadoop-zookeeper-user-archive@hadoop.apache.org Received: (qmail 54852 invoked by uid 500); 30 Jun 2010 23:56:36 -0000 Mailing-List: contact zookeeper-user-help@hadoop.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: zookeeper-user@hadoop.apache.org Delivered-To: mailing list zookeeper-user@hadoop.apache.org Received: (qmail 54844 invoked by uid 99); 30 Jun 2010 23:56:36 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 30 Jun 2010 23:56:36 +0000 X-ASF-Spam-Status: No, hits=0.9 required=10.0 tests=HTML_MESSAGE,RCVD_IN_DNSWL_MED,SPF_SOFTFAIL X-Spam-Check-By: apache.org Received-SPF: softfail (nike.apache.org: transitioning domain of bryan@systap.com does not designate 208.65.145.65 as permitted sender) Received: from [208.65.145.65] (HELO p01c12o142.mxlogic.net) (208.65.145.65) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 30 Jun 2010 23:56:27 +0000 Received: from unknown [216.166.12.180] (EHLO p01c12o142.mxlogic.net) by p01c12o142.mxlogic.net(mxl_mta-6.7.0-0) with ESMTP id 699db2c4.6425b940.67190.00-526.160000.p01c12o142.mxlogic.net (envelope-from ); Wed, 30 Jun 2010 17:56:06 -0600 (MDT) X-MXL-Hash: 4c2bd9963643aa62-00a28667909c1f2837b6a101cf4a68f6aed48a3c Received: from unknown [216.166.12.180] by p01c12o142.mxlogic.net(mxl_mta-6.7.0-0) with SMTP id 708db2c4.0.65677.00-292.158115.p01c12o142.mxlogic.net (envelope-from ); Wed, 30 Jun 2010 17:49:28 -0600 (MDT) X-MXL-Hash: 4c2bd8082dac14d0-87e6fb1ee3564cc88d751ffb3affe0e6016f0927 Received: from AUSP01VMBX06.collaborationhost.net ([10.2.8.89]) by AUSP01MHUB05.collaborationhost.net ([10.2.8.172]) with mapi; Wed, 30 Jun 2010 18:49:01 -0500 From: Bryan Thompson To: Ted Dunning , Patrick Hunt CC: "zookeeper-user@hadoop.apache.org" Date: Wed, 30 Jun 2010 18:48:54 -0500 Subject: RE: Guaranteed message delivery until session timeout? Thread-Topic: Guaranteed message delivery until session timeout? Thread-Index: AcsYrU0THNsv6rCgTFmS1mZDjUqJrgAADK/Q Message-ID: References: <4C2BD461.40602@apache.org> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: acceptlanguage: en-US Content-Type: multipart/alternative; boundary="_000_DE10B00CCE0DC54883734F3060AC9ED44D6873D456AUSP01VMBX06c_" MIME-Version: 1.0 X-Spam: [F=0.2000000000; CM=0.500; S=0.200(2010062801)] X-MAIL-FROM: X-SOURCE-IP: [216.166.12.180] X-AnalysisOut: [v=1.0 c=1 a=gYpHDO3MhGgA:10 a=hO-oPbc3tlwA:10 a=VphdPIyG4k] X-AnalysisOut: [EA:10 a=38uLcFpo6nJaFUi5eYvXHw==:17 a=pGLkceISAAAA:8 a=mV9] X-AnalysisOut: [VRH-2AAAA:8 a=8AJAa22DBryBu5k_sMUA:9 a=4V61rE7JyL42wCeR81U] X-AnalysisOut: [A:7 a=vNF1TzRic22nlO1F8IFoueL8stUA:4 a=CjuIK1q_8ugA:10 a=U] X-AnalysisOut: [UpcsVyRx3cA:10 a=MSl-tDqOz04A:10 a=88iI8knYSJUA:10 a=DyPxu] X-AnalysisOut: [-Wn2zUVGv1a:21 a=7ecK5pt54SvPfiT5:21 a=lgQPXhBjcfEa2KZ29wU] X-AnalysisOut: [A:9 a=Zcby1mPbvNic-H7l1ygA:7 a=erXvXC_kLkgtHaZR7KwrTobT6B0] X-AnalysisOut: [A:4 a=Ga8jaxKsdvc8f_Ds:21 a=SdWwlDTWjaS2ag79:21] X-Virus-Checked: Checked by ClamAV on apache.org --_000_DE10B00CCE0DC54883734F3060AC9ED44D6873D456AUSP01VMBX06c_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Ted, Yes, that is clear. I was looking for this: > On some failures (communication errors, timeouts, etc) the client will no= t know if the update has applied or not. We take steps to minimize the fail= ures, but the only guarantee is only present with successful return codes. With regard to timeliness: > The clients view of the system is guaranteed to be up-to-date within a ce= rtain time bound. (On the order of tens of seconds.) Either system changes = will be seen by a client within this bound, or the client will detect a ser= vice outage. This seems to imply that there are retries for transient communication fail= ures. Is that true? For example, if a client registers a watch, and a state change which would = trigger that watch occurs _after_ the client has successfuly registered the= watch with the zookeeper quorum, is it possible that the client would not = observe the watch trigger due to communication failure, etc., even while th= e clients session remains valid? It sounds like the answer is "no" per the= timeliness guarantee. Is that correct? Thanks, Bryan ________________________________ From: Ted Dunning [mailto:ted.dunning@gmail.com] Sent: Wednesday, June 30, 2010 7:38 PM To: Patrick Hunt Cc: zookeeper-user@hadoop.apache.org; Bryan Thompson Subject: Re: Guaranteed message delivery until session timeout? Also this: Once an update has been applied, it will persist from that time forward unt= il a client overwrites the update. This guarantee has two corollaries: If a client gets a successful return code, the update will have been applie= d. On some failures (communication errors, timeouts, etc) the client will n= ot know if the update has applied or not. We take steps to minimize the fai= lures, but the only guarantee is only present with successful return codes.= (This is called the monotonicity condition in Paxos.) Any updates that are seen by the client, through a read request or successf= ul update, will never be rolled back when recovering from server failures. I think that the clear implications here are: a) if you get a successful return code and no session expiration, your ephe= meral file is there b) if the ephemeral files is created, you might not get the successful retu= rn code (due to connection loss), but the ephemeral file might continue to = exist (because connection loss !=3D session loss) c) if you get a failure return code, your ephemeral file was not created On Wed, Jun 30, 2010 at 4:33 PM, Patrick Hunt > wrote: in particular see "timeliness" http://hadoop.apache.org/zookeeper/docs/curr= ent/zookeeperProgrammers.html#ch_zkGuarantees --_000_DE10B00CCE0DC54883734F3060AC9ED44D6873D456AUSP01VMBX06c_--