Return-Path: X-Original-To: apmail-zookeeper-user-archive@www.apache.org Delivered-To: apmail-zookeeper-user-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 3D09F7CEC for ; Fri, 19 Aug 2011 11:01:36 +0000 (UTC) Received: (qmail 69608 invoked by uid 500); 19 Aug 2011 11:01:35 -0000 Delivered-To: apmail-zookeeper-user-archive@zookeeper.apache.org Received: (qmail 69124 invoked by uid 500); 19 Aug 2011 11:01:26 -0000 Mailing-List: contact user-help@zookeeper.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@zookeeper.apache.org Delivered-To: mailing list user@zookeeper.apache.org Received: (qmail 69097 invoked by uid 99); 19 Aug 2011 11:01:21 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 19 Aug 2011 11:01:21 +0000 X-ASF-Spam-Status: No, hits=2.9 required=5.0 tests=HTML_MESSAGE,RCVD_IN_DNSWL_NONE,SPF_NEUTRAL X-Spam-Check-By: apache.org Received-SPF: neutral (athena.apache.org: 69.147.107.20 is neither permitted nor denied by domain of fpj@yahoo-inc.com) Received: from [69.147.107.20] (HELO mrout1-b.corp.re1.yahoo.com) (69.147.107.20) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 19 Aug 2011 11:01:17 +0000 Received: from keeper.barcelona.corp.yahoo.com (keeper.barcelona.corp.yahoo.com [10.78.36.61]) by mrout1-b.corp.re1.yahoo.com (8.14.4/8.14.4/y.out) with ESMTP id p7JB0Pnk054914 for ; Fri, 19 Aug 2011 04:00:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=yahoo-inc.com; s=cobra; t=1313751627; bh=OXaFPU4veoFkTk1nX72WDntgBzm0bIuZ1Rvu408sA6Q=; h=Message-Id:From:To:In-Reply-To:Content-Type:Mime-Version:Subject: Date:References; b=NUA36Oll+K0iWGVfU7vbdnl3qellhGXIg3sq4CfRtjyzs6BUAClvrsQMNj/QBwh/Y 7NwqXU9V2XG4sbWA712C58kyGdPd6GRjLdgd3Yk01k/l4YUj0ISnap2iJ3QfF+hXYR EY/jmIZ9iJ7fG58vE2fTOeGoCrokZoMK+hU0Kh10= Message-Id: <596E6854-BFE7-43E3-BB87-204875414892@yahoo-inc.com> From: Flavio Junqueira To: "user@zookeeper.apache.org" In-Reply-To: Content-Type: multipart/alternative; boundary=Apple-Mail-70-436976616 Mime-Version: 1.0 (Apple Message framework v936) Subject: Re: Fast leader election initial delay, is that possible? Date: Fri, 19 Aug 2011 13:00:25 +0200 References: <39CBACAE-2B50-406A-93E5-5632891B7CA3@yahoo-inc.com> X-Mailer: Apple Mail (2.936) --Apple-Mail-70-436976616 Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Sampath, Do you think something along the lines of what Ted describes would work for you? -Flavio On Aug 18, 2011, at 7:13 PM, Ted Dunning wrote: > The thought is that a server would not complain about connection > refused or inability to form a quorum during the first (say) twenty > seconds of operation. > > The thesis is that warnings from these causes during that time are > spurious. > > As I mentioned, I don't see this as urgent or even necessarily a > good idea. I completely reboot a ZK cluster once every year or > three. When I am doing a rolling upgrade, I *want* to see alerts > when I bounce a machine. If I don't want to see those alerts, my > monitoring system allows me to put a machine into maintenance mode > for a short period of time to temporarily suppress the warnings. > > All I was doing was translating and elaborating the original > poster's suggestion, not so much endorsing it. > > On Thu, Aug 18, 2011 at 8:54 AM, Flavio Junqueira inc.com> wrote: > Hi Ted, I don't see how one can automate the distinction between a > machine that is down because it crashed and a machine that is down > because it hasn't started yet. Assuming that we are logging the > machine unavailability as we are doing currently, one can always > look at the timestamp of the warning and remember that this is the > time the machines were bootstrapping. Consequently, I don't really > see the point of reducing the number of warnings, unless the > warnings are really polluting the logs. I typically don't see so > many that prevents me from reading the rest, but you may have a > different perception. Also, recall that we back off, so the warnings > become less frequent over time. > > I'm open to ideas, though. If you see anything wrong in my rationale > or if you have an idea of how to do it differently, then I'd be > happy to hear. However, if the idea is simply to add a parameter > that configures the time for leader election to start, then I'm > currently not in favor. > > -Flavio > > On Aug 18, 2011, at 5:39 PM, Ted Dunning wrote: > >> Flavio, >> >> What you say is correct, but the original poster does have a point >> that many >> of these warnings are to be expected and there is a heuristic that >> might >> assist in distinguishing some of these cases so that false alarms >> in the >> logs could be decreased. >> >> That doesn't seem like a big deal to me, but different people have >> different >> itches. In my experience, restarting a ZK cluster from zero almost >> never >> happens. >> >> On Thu, Aug 18, 2011 at 8:36 AM, Ted Dunning >> wrote: >> >>> >>> >>> On Thu, Aug 18, 2011 at 12:15 AM, Sampath Perera >> >wrote: >>> >>>> >>>> Hhmmm, I think this is a bit different isn't it? Here we know >>>> that the >>>> first >>>> server to come will be failing to connect to the other as they >>>> are not yet >>>> up. Anyway our real issue is the warning. >>>> >>> >>> We know that. >>> >>> But how does the server know that it is the first server? That is >>> the >>> whole point of the leader election. You might just have a server >>> rejoining >>> a cluster. Or you might have a cluster that has been turned off. >>> Or a >>> cluster with 2 out of 5 machines off and we tried to touch the >>> other down >>> machine before the others. >>> >>> >>>>> >>>>> Would you like to suggest a patch? >>>>> >>>> >>>> Of course I do.. will prepare a patch and attach. >>>> >>> >>> Great! >>> >>> > > flavio > junqueira > > research scientist > > fpj@yahoo-inc.com > direct +34 93-183-8828 > > avinguda diagonal 177, 8th floor, barcelona, 08018, es > phone (408) 349 3300 fax (408) 349 3301 > > > > flavio junqueira research scientist fpj@yahoo-inc.com direct +34 93-183-8828 avinguda diagonal 177, 8th floor, barcelona, 08018, es phone (408) 349 3300 fax (408) 349 3301 --Apple-Mail-70-436976616 Content-Type: multipart/related; boundary=Apple-Mail-71-436976617; type="text/html" --Apple-Mail-71-436976617 Content-Type: text/html; charset=US-ASCII Content-Transfer-Encoding: quoted-printable Sampath, Do you think something = along the lines of what Ted describes would work for = you?

-Flavio

On Aug 18, 2011, = at 7:13 PM, Ted Dunning wrote:

The = thought is that a server would not complain about connection refused or = inability to form a quorum during the first (say) twenty seconds of = operation.

The thesis is that warnings from these = causes during that time are spurious.

As I = mentioned, I don't see this as urgent or even necessarily a good idea. =  I completely reboot a ZK cluster once every year or three. =  When I am doing a rolling upgrade, I *want* to see alerts when I = bounce a machine.  If I don't want to see those alerts, my = monitoring system allows me to put a machine into maintenance mode for a = short period of time to temporarily suppress the warnings.
=

All I was doing was translating and elaborating the = original poster's suggestion, not so much endorsing it.

On Thu, Aug 18, 2011 at 8:54 AM, Flavio Junqueira = <fpj@yahoo-inc.com> = wrote:
Hi Ted, I don't see how one can = automate the distinction between a machine that is down because it = crashed and a machine that is down because it hasn't started yet. = Assuming that we are logging the machine unavailability as we are doing = currently, one can always look at the timestamp of the warning and = remember that this is the time the machines were bootstrapping. = Consequently, I don't really see the point of reducing the number of = warnings, unless the warnings are really polluting the logs. I typically = don't see so many that prevents me from reading the rest, but you may = have a different perception. Also, recall that we back off, so the = warnings become less frequent over time.

I'm open to = ideas, though. If you see anything wrong in my rationale or if you have = an idea of how to do it differently, then I'd be happy to hear. However, = if the idea is simply to add a parameter that configures the time for = leader election to start, then I'm currently not in favor.
=

-Flavio 

On Aug 18, 2011, at 5:39 PM, Ted Dunning = wrote:

Flavio,

What you = say is correct, but the original poster does have a point that many
= of these warnings are to be expected and there is a heuristic that = might
assist in distinguishing some of these cases so that false = alarms in the
logs could be decreased.

That doesn't seem like = a big deal to me, but different people have different
itches. =  In my experience, restarting a ZK cluster from zero almost = never
happens.

On Thu, Aug 18, 2011 at 8:36 AM, Ted Dunning = <ted.dunning@gmail.com> wrote:
=


On Thu, Aug 18, = 2011 at 12:15 AM, Sampath Perera <sampath@adroitlogic.com>wrote:
=


Hhmmm, I think this is a bit = different isn't it? Here we know that the
=
first
server to come will be failing = to connect to the other as they are not yet
=
up. Anyway our real issue is the = warning.

=

We = know that.

But how does = the server know that it is the first server?  That is the
=
whole point of the leader = election.  You might just have a server = rejoining
a cluster.  Or = you might have a cluster that has been turned off.  Or a
=
cluster with 2 out of 5 machines = off and we tried to touch the other down
machine before the others.



Would = you like to suggest a = patch?

=
Of course I do.. will prepare a patch and = attach.


Great!



=
flavio
junqueira
 
research scientist
 
fpj@yahoo-inc.com
direct +34 93-183-8828
 
avinguda diagonal = 177, 8th floor, barcelona, 08018, es
phone (408) 349 = 3300    fax (408) 349 3301
=

=


=
junqueira
research scientist
 
fpj@yahoo-inc.com
direct +34 = 93-183-8828
avinguda diagonal 177, 8th floor, barcelona, 08018, = es
phone (408) 349 3300    fax = (408) 349 3301 =

= --Apple-Mail-71-436976617 Content-Disposition: inline; filename=pastedGraphic.tiff Content-Transfer-Encoding: base64 Content-Type: image/tiff; x-unix-mode=0666; name="pastedGraphic.tiff" Content-Id: <91E3135A-7C5D-444D-9FD8-AAD458F2C9BE> TU0AKgAAIXgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAA4MPn/4cYo/+WNK7/oUq3/69lwf+8fsv/7d3x/59Ftf+WNK7/mjyx/5xAs/+kULn/ oUq3/51Cs/+dQrP/mTqw/5Y0rv+WNK7/lzav/5Y0rv+SLKv/1Kze/wAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADjyen/ewCZ/3sAmf97AJn/ewCZ /30Em//p1e7/oUq3/4kcpP9/CJz/ewCZ/3sAmf97AJn/ewCZ/3sAmf97AJn/fAGZ/5Apqf+aPLH/ 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 AAAAARbPc2YzMgAAAAAAAQxCAAAF3v//8yYAAAeSAAD9kf//+6L///2jAAAD3AAAwGxjdXJ2AAAA AAAAAAEBzQAAdmNndAAAAAAAAAABAAC4UgAAAAAAAQAAAAC4UgAAAAAAAQAAAAC4UgAAAAAAAQAA bmRpbgAAAAAAAAA4AAChSAAAVwoAAEuFAACa4QAAJ64AABO2AABQDQAAVDkAAoAAAAKAAAACgAB0 ZXh0AAAAAENvcHlyaWdodCAyMDA3IEFwcGxlIEluYy4sIGFsbCByaWdodHMgcmVzZXJ2ZWQuAG1s dWMAAAAAAAAAEQAAAAxlblVTAAAAJgAAAn5lc0VTAAAAJgAAAYJkYURLAAAALgAAAepkZURFAAAA LAAAAahmaUZJAAAAKAAAANxmckZVAAAAKAAAASppdElUAAAAKAAAAlZubE5MAAAAKAAAAhhuYk5P AAAAJgAAAQRwdEJSAAAAJgAAAYJzdlNFAAAAJgAAAQRqYUpQAAAAGgAAAVJrb0tSAAAAFgAAAkB6 aFRXAAAAFgAAAWx6aENOAAAAFgAAAdRydVJVAAAAIgAAAqRwbFBMAAAALAAAAsYAWQBsAGUAaQBu AGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAEcAZQBuAGUAcgBpAHMAawAgAFIARwBCAC0A cAByAG8AZgBpAGwAUAByAG8AZgBpAGwAIABHAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCTgCCLAAg AFIARwBCACAw1zDtMNUwoTCkMOuQGnUoACAAUgBHAEIAIIJyX2ljz4/wAFAAZQByAGYAaQBsACAA UgBHAEIAIABHAGUAbgDpAHIAaQBjAG8AQQBsAGwAZwBlAG0AZQBpAG4AZQBzACAAUgBHAEIALQBQ AHIAbwBmAGkAbGZukBoAIABSAEcAQgAgY8+P8GWHTvYARwBlAG4AZQByAGUAbAAgAFIARwBCAC0A YgBlAHMAawByAGkAdgBlAGwAcwBlAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBp AGUAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wAUAByAG8AZgBpAGwAbwAgAFIARwBCACAARwBlAG4A ZQByAGkAYwBvAEcAZQBuAGUAcgBpAGMAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGUEHgQxBEkEOAQ5 ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYA aQBsACAAUgBHAEIAAGRlc2MAAAAAAAAAFEdlbmVyaWMgUkdCIFByb2ZpbGUAAAAAAAAAAAAAABRH ZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAA= --Apple-Mail-71-436976617-- --Apple-Mail-70-436976616--