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