viphadke opened a new issue, #11421:
URL: https://github.com/apache/ignite/issues/11421

   We had need to use a distributed semaphore to control access to certain 
resources. eg. we need to limit number of concurrent downloads / uploads etc. 
We recently switched to a ignite semaphore because we like the property that 
the permits are release if a connection is lost. Our prior solution did not 
have this property and permits were lost when out server went down. 
   However, the problem with the ignite semaphore was that it does not work 
well when 100 threads hit it at a time. We also tried the tryAcquire(1, 100, 
TimeUnit.MILLISECONDS). We noticed that it started waiting for 10, 15, 20 secs 
(whether permits are available or not). When the number of threads is low the 
API works as expected. 
   
   
   I have provided a sample program which simulates the problem. The P95 on my 
system was around 6 sec. When i am expecting the method to return in 100ms all 
the time. Our production setup is usually a 3 node  ingite nodes. 3 zookeeper 
nodes and 3 platform nodes (our tomcat process) . However to simplify i am 
running zookeeper and ignite on the same node. 


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to