[jboss-user] [JBoss Messaging] - Re: messages stuck in queues

martin.wickus do-not-reply at jboss.com
Wed Mar 5 08:03:32 EST 2008


I think I've found a bug in JBM 1.4.0.SP3.

I ran JBM 1.4.0.SP3 to reproduce my earlier problem in UAT.

I then went through each of the items listed as oversights before until the problem dissapeared. The order was:

1. Updated to latest schema. Problem still occurs.
2. Changed to non-EAP version of JBM and JBR libraries. Problem still occurs.
3. Turned clustering for PostOffice off. Problem still occurs.
4. Changed PrefetchSize to 1000 and SlowConsumers to false. Problem fixed.

I undid/repeated step 4 a few times and it this is definately my problem area.

I then switched to the JBM 1.4.0.GA libraries to see if I can reproduce the problem. I couldn't. It works stably whether SlowConsumers is true or false.

This makes me think that between JBM1.4.0.GA and JBM1.4.0.SP3, there must have been a change to the client consumer flow control.

I compared the source code for the revisions and noticed there was significant refactoring in org.jboss.jms.client.container.ClientConsumer.

Additionaly, since the behavior happens only after a period and only under heavy load, this sounded like a threading problem.....

I can't be sure by looking at the code as I'm not a JBM expert, but I do notice that most of the time when consumeCount gets modified, it is done so within the mainLock. However, not always .... so this might cause contention issues. Perhaps consumeCount should be declared as volatile to prevent threads storing local values for the variables.






View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4134224#4134224

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4134224



More information about the jboss-user mailing list