curator-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jordan Zimmerman <>
Subject Re: InterProcessSemaphoreMutex Scalability
Date Thu, 29 Jan 2015 21:29:22 GMT
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’t be more than 1MB.
The node names contain the prefix “lease-“ (6 chars), a UUID (36 chars) and the sequence
number (10 chars). So, that’s 52 chars per lock. I don’t know if there’s 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’s preceding participant so you won’t
get herding as the number of clients grow.


On January 29, 2015 at 1:01:56 PM, Robert Kanter ( 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.  

- Robert
View raw message