Return-Path: X-Original-To: apmail-curator-user-archive@minotaur.apache.org Delivered-To: apmail-curator-user-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id EFB6A17D58 for ; Fri, 30 Jan 2015 17:50:30 +0000 (UTC) Received: (qmail 34197 invoked by uid 500); 30 Jan 2015 17:50:31 -0000 Delivered-To: apmail-curator-user-archive@curator.apache.org Received: (qmail 34154 invoked by uid 500); 30 Jan 2015 17:50:31 -0000 Mailing-List: contact user-help@curator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@curator.apache.org Delivered-To: mailing list user@curator.apache.org Received: (qmail 34142 invoked by uid 99); 30 Jan 2015 17:50:31 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 30 Jan 2015 17:50:31 +0000 X-ASF-Spam-Status: No, hits=1.5 required=5.0 tests=HTML_MESSAGE,RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of rkanter@cloudera.com designates 209.85.213.173 as permitted sender) Received: from [209.85.213.173] (HELO mail-ig0-f173.google.com) (209.85.213.173) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 30 Jan 2015 17:50:06 +0000 Received: by mail-ig0-f173.google.com with SMTP id a13so4983684igq.0 for ; Fri, 30 Jan 2015 09:47:50 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=w6IFhixSVjhW10hZxZTfbxTsWIunULYS1rjJc+aQh5g=; b=ZjZjS0HUaSVIblh320elAfuNdCcJdJlOmBrgZpSVbLriHOUrZDrOW39d1JRmVEJQOI 04NN/CRJ4DGw/s2GLhAqjZclBeOjfrSIXg+Nx0ss3EYp9CUHvVLE98P188KcxRr0nIBo QZtpNEAqnE+HDqL0QN+LmdVHjGQ7Z8ylGpydZAHPhN97Y+2UXEDftIl0744AkaSlRwtV AiLnE8IoX62BnwLXQPTTBpxvbmtJee51SkI/V7L3jOAImgcX4eibG8AiIcizUK+ciaNw pOXXIqhdQ823KAsJ/XUpUsT1RGU8vDCWvXFejHqUFXL0tEviTCH4noBkURDV3aYiSejD 32nA== X-Gm-Message-State: ALoCoQmsTWIxJnrxrWlUGzDbN3WA0a7ISM0qGpEEUAxtPd/mELcjVP8cNh6WT2+qlVgsIpkot8vE MIME-Version: 1.0 X-Received: by 10.107.15.36 with SMTP id x36mr8727577ioi.75.1422640070051; Fri, 30 Jan 2015 09:47:50 -0800 (PST) Received: by 10.107.131.6 with HTTP; Fri, 30 Jan 2015 09:47:49 -0800 (PST) In-Reply-To: References: Date: Fri, 30 Jan 2015 09:47:49 -0800 Message-ID: Subject: Re: InterProcessSemaphoreMutex Scalability From: Robert Kanter To: Jordan Zimmerman Cc: user@curator.apache.org Content-Type: multipart/alternative; boundary=001a113ed99a04e5a2050de2346d X-Virus-Checked: Checked by ClamAV on apache.org --001a113ed99a04e5a2050de2346d Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Great, thanks! On Thu, Jan 29, 2015 at 1:29 PM, Jordan Zimmerman < jordan@jordanzimmerman.com> wrote: > The major limitation is that, by default, ZooKeeper API calls are limited > to 1MB. The lock recipe calls getChildren() and the concatenated list of > children can=E2=80=99t be more than 1MB. The node names contain the prefi= x =E2=80=9Clease-=E2=80=9C > (6 chars), a UUID (36 chars) and the sequence number (10 chars). So, that= =E2=80=99s > 52 chars per lock. I don=E2=80=99t know if there=E2=80=99s other overhead= . But, anyway, > that gives you room for something like 19K lock participants. So, 600 is = no > problem. Additionally, each lock participant only watches it=E2=80=99s pr= eceding > participant so you won=E2=80=99t get herding as the number of clients gro= w. > > -Jordan > > > > On January 29, 2015 at 1:01:56 PM, Robert Kanter (rkanter@cloudera.com) > wrote: > > Hi all, > > Is there any information on how scalable the InterProcessSemaphoreMutex > is? I'm working on somethere where, in some cases, there could be ~600 > clients trying to acquire the same lock. Will that be a problem? > I'd go and test this directly, but I don't currently have enough machines > to try it with so I was hoping someone has already done some testing in > this area. > > thanks > - Robert > > --001a113ed99a04e5a2050de2346d Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Great, thanks!

On Thu, Jan 29, 2015 at 1:29 PM, Jordan Zimmerman <jordan@jordanzimmerman.com> wrote:
The major limitation is that, by default, ZooKeeper API calls are l= imited to 1MB. The lock recipe calls getChildren() and the concatenated lis= t of children can=E2=80=99t be more than 1MB. The node names contain the pr= efix =E2=80=9Clease-=E2=80=9C (6 chars), a UUID (36 chars) and the sequence= number (10 chars). So, that=E2=80=99s 52 chars per lock. I don=E2=80=99t k= now if there=E2=80=99s other overhead. But, anyway, that gives you room for= something like 19K lock participants. So, 600 is no problem. Additionally,= each lock participant only watches it=E2=80=99s preceding participant so y= ou won=E2=80=99t get herding as the number of clients grow.

<= /div>
-Jordan



On January 29, 2015 at = 1:01:56 PM, Robert Kanter (rkanter@cloudera.com) wrote:

=
Hi all,

Is there any information on how scalable the=C2=A0InterProcessSemaphoreMutex is?=C2=A0 I'm working on somethere where, in some cases, there could be ~600 clients trying to acquire the same lock.=C2=A0 Will that be a problem? =C2=A0
I'd go and test this directly, but I don't currently have enough machines to try it with so I was hoping someone has already done some testing in this area. =C2=A0

thanks
- Robert

--001a113ed99a04e5a2050de2346d--