Return-Path: Delivered-To: apmail-zookeeper-user-archive@www.apache.org Received: (qmail 17899 invoked from network); 22 Jan 2011 15:27:39 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 22 Jan 2011 15:27:39 -0000 Received: (qmail 81377 invoked by uid 500); 22 Jan 2011 15:27:39 -0000 Delivered-To: apmail-zookeeper-user-archive@zookeeper.apache.org Received: (qmail 80944 invoked by uid 500); 22 Jan 2011 15:27:36 -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 80928 invoked by uid 99); 22 Jan 2011 15:27:35 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 22 Jan 2011 15:27:35 +0000 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests= X-Spam-Check-By: apache.org Received-SPF: neutral (athena.apache.org: local policy) Received: from [216.145.54.172] (HELO mrout2.yahoo.com) (216.145.54.172) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 22 Jan 2011 15:27:35 +0000 Received: from [192.168.1.102] (vpn-client-20-5.corp.ukl.yahoo.com [10.76.20.5]) by mrout2.yahoo.com (8.14.4/8.14.4/y.out) with ESMTP id p0MFQnIP024135; Sat, 22 Jan 2011 07:26:50 -0800 (PST) Cc: "dev@zookeeper.apache.org" Message-Id: From: Flavio Junqueira To: "user@zookeeper.apache.org" In-Reply-To: Content-Type: multipart/alternative; boundary=Apple-Mail-874--424770743 Mime-Version: 1.0 (Apple Message framework v936) Subject: Re: Extracting Zab from Zookeeper Date: Sat, 22 Jan 2011 16:26:48 +0100 References: <4D373C44.3020800@yahoo-inc.com> X-Mailer: Apple Mail (2.936) --Apple-Mail-874--424770743 Content-Type: text/plain; charset=ISO-8859-1; format=flowed; delsp=yes Content-Transfer-Encoding: quoted-printable Not only it won't be trivial, but I don't have it completely clear =20 that if we separate Zab and ZooKeeper you will have exactly what you =20 need. In our previous discussions about this issue, we ended up =20 concluding that we would need a richer interface than simply abcast =20 and abdeliver. For example, one important aspect currently is stable =20 storage for logging and checkpointing. To separate the ZooKeeper =20 application and Zab we would have to decide which side would manage =20 it, but both sides would need access to to it some way. It sounds like a good idea to think carefully if a separate Zab would =20= really satisfy your requirements before spending time on the =20 implementation. -Flavio On Jan 22, 2011, at 8:43 AM, Andr=E9 Oriani wrote: > If I do not reply soon, do not think I gave up. My employer is =20 > keeping me > busy lately :) > > I will try take a look at the patch of jira > > Regards, > Andr=E9 > > On Thu, Jan 20, 2011 at 09:45, Patrick Hunt wrote: > >> It's non-trivial - but iirc the patches/links on ZOOKEEPER-30 show =20= >> the >> finished work product from the original effort. I suspect that this >> would be a great starting point, most of the work being to "port" >> those changes onto the latest trunk. Ben what do you think? Was the >> original approach solid? Seems like a great starting point. >> >> Patrick >> >> On Thu, Jan 20, 2011 at 8:35 AM, Andr=E9 Oriani =20= >> wrote: >>> Sure, I am interested in. What should I do besides reading the =20 >>> papers, >>> downloading the code compiling and doing some code walkthrough ? >>> >>> >>> Tks, >>> Andr=E9 >>> >>> On Wed, Jan 19, 2011 at 11:32, Benjamin Reed >> wrote: >>> >>>> it's funny, i was just thinking about this yesterday. >>>> >>>> no one is working on it, so it is still open. >>>> >>>> it is a non-trivial piece of work, but i'd be willing to give =20 >>>> guidance >> if >>>> you are interested in it. >>>> >>>> ben >>>> >>>> ps - btw, this is definitely a dev@zookeeper.apache.org =20 >>>> discussion :) >>>> >>>> >>>> On 01/18/2011 11:24 PM, Andr=E9 Oriani wrote: >>>> >>>>> Hi, >>>>> >>>>> I need to implement a replication protocol and therefore I need =20= >>>>> total >>>>> order >>>>> broadcast primitive. I was thinking of using Zab. But I saw that =20= >>>>> the >>>>> broadcast protocol is very intermixed with Zookeeper's tree. I =20 >>>>> heard >> of >>>>> ZOOKEEPER-30 . What happen of it ? It still open. If code =20 >>>>> contribution >> is >>>>> still needed I would be glad to do it if someone could mentor =20 >>>>> me on >> the >>>>> task. >>>>> >>>>> >>>>> Thanks, >>>>> Andr=E9 Oriani >>>>> >>>>> >>>>> -- >>>>> Andr=E9 Oriani >>>>> MSc candidate at Computing Institute >>>>> State University of Campinas - Brazil >>>>> (temporarily at Sunnyvale, CA) >>>>> >>>> >>>> >>> >> 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-874--424770743 Content-Type: multipart/related; boundary=Apple-Mail-875--424770740; type="text/html" --Apple-Mail-875--424770740 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Not only it won't be trivial, = but I don't have it completely clear that if we separate Zab and = ZooKeeper you will have exactly what you need. In our previous = discussions about this issue, we ended up concluding that we would need = a richer interface than simply abcast and abdeliver. For example, one = important aspect currently is stable storage for logging and = checkpointing. To separate the ZooKeeper application and Zab we would = have to decide which side would manage it, but both sides would need = access to to it some way.

It sounds like a good idea = to think carefully if a separate Zab would really satisfy your = requirements before spending time on the = implementation. 

-Flavio

On Jan 22, 2011, at 8:43 AM, Andr=E9 Oriani wrote:

If I = do not reply soon, do not think I gave up. My employer is keeping = me
busy lately :)

I will try take a look at the patch of = jira

Regards,
Andr=E9

On Thu, Jan 20, 2011 at 09:45, = Patrick Hunt <phunt@apache.org> = wrote:

It's non-trivial - but iirc the = patches/links on ZOOKEEPER-30 show the
finished work product from the original effort. I suspect = that this
would be a great = starting point, most of the work being to = "port"
those changes onto the = latest trunk. Ben what do you think? Was the
original approach solid? Seems like a great starting = point.

Patrick

On Thu, Jan 20, = 2011 at 8:35 AM, Andr=E9 Oriani <aoriani@gmail.com> = wrote:
Sure, I am interested in. What should I do besides reading = the papers,
downloading the code compiling = and doing some code walkthrough = ?


Tks,
Andr=E9

On Wed, Jan 19, 2011 at 11:32, = Benjamin Reed <breed@yahoo-inc.com>
wrote:

it's = funny, i was just thinking about this = yesterday.

no one = is working on it, so it is still = open.

it is = a non-trivial piece of work, but i'd be willing to give = guidance
if
you are interested in = it.

ben

ps - = btw, this is definitely a dev@zookeeper.apache.org = discussion :)


On = 01/18/2011 11:24 PM, Andr=E9 Oriani = wrote:

Hi,
<= blockquote type=3D"cite">

I need to implement a = replication protocol and therefore I need = total
order
broadcast primitive. I was = thinking of using Zab. But I saw that = the
broadcast protocol is very = intermixed with Zookeeper's tree. I = heard
of
ZOOKEEPER-30 . What happen of it ? It still open. If code = contribution
is
still needed I would be glad to = do it  if someone could mentor me = on
the
task.


Thanks,
Andr=E9 = Oriani


--
Andr=E9 = Oriani
MSc candidate at Computing = Institute
State University of Campinas - = Brazil
(temporarily at Sunnyvale, = CA)






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-875--424770740 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-875--424770740-- --Apple-Mail-874--424770743--