Re: Using Barrier with high load and got the error "Can't add waiter, no barriers" returned

Philip Aston <[email protected]>
Newsgroups gmane.comp.java.grinder.user
Message-ID <[email protected]>
My guess is that the console process is incorrectly determining that the
worker process is dead and cancelling its barriers. The console relies
on regular "heartbeat" messages from each worker process. It is possible
that a lengthy GC or busy network might have delayed this. The console
will consider any worker that has failed to report for 2 seconds to be
dead. Unfortunately, this isn't configurable, so you'll have to
recompile the code to change it. Look at
net.grinder.console.communication.ProcessStatusImplementation.FLUSH_PERIOD.
I've opened bug #244 to improve this in the future.

Also, I see that your unique ID generator isn't working. In your log
output, I see the same ID being repeatedly used. I'm guessing that the
whole reason you want to use a barrier is for cross-process
synchronisation. This implies that you want to use a well known name,
not a generated one.

- Phil

On 17/12/13 12:39, Thiraphat wrote:
> The full error returned from a console.
>
> -----
>
>
> D:\Distribution\AC>PATH=C:\Program Files\Java\jre6\bin;C:\Program
> Files\OpenSSH\
> bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program
> Files\IBM
> \Director\bin;C:\Program Files\Common
> Files\IBM\ICC\cimom\bin;C:\WINDOWS\system3
> 2\WindowsPowerShell\v1.0;D:\QueryTesting\TclClient
>
> D:\Distribution\AC>java -cp D:\Grinder\grinder-3.6\lib\grinder.jar;
> net.grinder.
> Console
> Exception in thread "main" java.lang.IllegalStateException: Can't add
> waiter, no
> barriers
>         at
> net.grinder.synchronisation.AbstractBarrierGroups$BarrierGroupImpleme
> ntation.addWaiter(AbstractBarrierGroups.java:217)
>         at
> net.grinder.console.synchronisation.ProcessBarrierGroups$1.addWaiter(
> ProcessBarrierGroups.java:87)
>         at
> net.grinder.console.synchronisation.WireDistributedBarriers$3.handle(
> WireDistributedBarriers.java:100)
>         at
> net.grinder.console.synchronisation.WireDistributedBarriers$3.handle(
> WireDistributedBarriers.java:96)
>         at
> net.grinder.communication.MessageDispatchSender.send(MessageDispatchS
> ender.java:116)
>         at
> net.grinder.console.communication.ConsoleCommunicationImplementation.
> processOneMessage(ConsoleCommunicationImplementation.java:267)
>         at
> net.grinder.console.ConsoleFoundation.run(ConsoleFoundation.java:197)
>
>         at net.grinder.Console.run(Console.java:73)
>         at net.grinder.Console.main(Console.java:92)
>
>
>
>
> --
> View this message in context: http://grinder.996249.n3.nabble.com/Using-Barrier-with-high-load-and-got-the-error-Can-t-add-waiter-no-barriers-returned-tp8723p8724.html
> Sent from the Grinder - User mailing list archive at Nabble.com.
>
> ------------------------------------------------------------------------------
> Rapidly troubleshoot problems before they affect your business. Most IT 
> organizations don't have a clear picture of how application performance 
> affects their revenue. With AppDynamics, you get 100% visibility into your 
> Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro!
> http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk
> _______________________________________________
> grinder-use mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/grinder-use


------------------------------------------------------------------------------
Rapidly troubleshoot problems before they affect your business. Most IT 
organizations don't have a clear picture of how application performance 
affects their revenue. With AppDynamics, you get 100% visibility into your 
Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro!
http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.