I've been saying a while ago that we should require ZK 3.4.x for 0.96+. Distributed consensus without a "transaction" option always rang a bit weird to me.
Maybe switch in 0.98+? -- Lars ----- Original Message ----- From: n keywal <nkey...@gmail.com> To: dev@hbase.apache.org Cc: Sent: Thursday, September 6, 2012 12:53 AM Subject: Re: Hbase Assignments in trunk. On the Async vs. sync: there are 3 different ways to write multiple znodes in ZK, and huge differences in the performances between them: 1) for loop sync 2) for loop async 3) multi Async will be 20 to 100 times faster than sync. multi will be 2 to 4 times faster than async (that is, 80 to 400 times faster than sync). Multi was not available before ZK 3.4. It has several obvious advantages over async imho: it's faster, it's synchronous and it's a transaction. That simplifies the user code usually. It has other advantages: - async and sync will typically send 1 or more packet per znode (naggle is not activated iirc), while there will be only a few packets for all the znodes with multi - you can expect async to write multiple times on the disk, while multi should write only once. This is usually better for i/o performances. On a serious recovery situation, with all the regions moving all other the place, saving disk and network i/o for ZooKeeper is important. Disadvantage: it's new. On Thu, Sep 6, 2012 at 7:49 AM, Stack <st...@duboce.net> wrote: > On Wed, Sep 5, 2012 at 5:17 PM, Jonathan Hsieh <j...@cloudera.com> wrote: > > Here's a link to the pdf/picture. > > > > http://people.apache.org/~jmhsieh/hbase/120905-hbase-assignment.pdf > > > > Pretty picture. Not a pretty story. > > What you thinking? > > St.Ack >