Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
3.0, 3.1, 3.2, 3.2.1
-
None
Description
Scott posted a great bug report on the forums: http://forums.logicblaze.com/posts/list/180.page
I was running a stress test and found a bug in ActiveMQConnection. Where do I post it?
The TCP consumer thread updates the flowControlSleepTime long between the values of -1 and 10 (consume method).
My thread is attempting to issue an asyncsend. Within the asyncPacketSend method the value is referenced as follows:
if (packet.isJMSMessage() && flowControlSleepTime > 0) {
try {
Thread.sleep(flowControlSleepTime);
} catch (InterruptedException e) { }
}
this.transportChannel.asyncSend(packet);
Typical threading issue, the value is 10 on the if and -1 on the Thread.sleep..... and my thread sleeps forever.....
This jdk 1.5, one broker, one queue, two consumers and two producers. Each producer has one connection running all-out sends (no wait). I'm only getting about 7000 events/sec/avg through this configuration.
This code is attempting to slow down the client based on the CapacityInfo object being sent back to the client with a 'flow control time' to wait. I'll have to try using more connections (clients) to see if I can pass the 7000 mark.
Scott