activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From <Juergen.Schumac...@empolis.com>
Subject High message frequency causes ActiveMQ to freeze
Date Thu, 17 Jan 2008 13:51:58 GMT
Hello,

I am currently doing some stress tests with ActiveMQ 5. I have searched the 
mailing list archive for similar reports, but they always seemed to resolve 
to something like "it's fixed in the latest snapshot", which definitely did 
not help in my case.

My test setup is as follows:

- 1 computer running 3 producers sending small TextMessage to queue1, as fast as 
  possible.
- 1 computer running 6 "processors" listening to queue1, pretending to do some
  useful and sending a MapMessage to queue2 for each message consumed from queue1.
  The MapMessages contain the string from the incoming TextMessage and an additional
  2kB string.
- 1 computer running ActiveMQ with default configuration and 1 consumer that listens
  to queue2 and writes the content of the MapMessages to the log.

All messages are persistent (AMQPersistence). I'm running the tests on Windows XP 
using Sun JDK 1.5.0_11. To connect to the server, all clients use an URL like 
tcp://localhost:61616?wireFormat.maxInactivityDuration=0.

I have run the tests with both ActiveMQ 5.0.0 and the current 5.1 Snapshot.
First I start ActiveMQ, the consumer and processors, and finally the producers.

With 5.0.0: For a few seconds everything runs fine, then ActiveMQ writes a message
like this:

ERROR RecoveryListenerAdapter        - Message id ID:AFA-20561-3446-120057540989
6-0:0:1:1:615 could not be recovered from the data store!

and the processors do not receive any more messages from queue1. The consumer has
received all messages from queue2 and the producers are happily writing more messages
into queue1. 

With 5.1-SNAPSHOT: After a short while everything freezes. Each producer has created a 
few more than 1000 messages in about 5 seconds. ActiveMQ does not print out any message, 
and all producers and processors hang when trying to commit the sessions in which they 
have created their messages for queue1 and queue2. The consumer has read all messages 
from queue2.

For completeness I also tried ActiveMQ 4.1.1 with kahaPersistence for the test. 
It does not freeze, but it's running much slower now.

I have attached the code of my test classes to this mail. Am I doing something wrong or 
inappropriate in my code? I'm quite new to queue programming, so maybe I made some 
mistake.

Any idea what's happening? Is there any additional information I should provide?
Thank you very much in advance for any help. 

Regards,
J├╝rgen Schumacher
____________________________________________________
Development
empolis GmbH | Europaallee 10 | 67657 Kaiserslautern | Germany
juergen.schumacher@empolis.com | www.empolis.com

Mime
  • Unnamed multipart/mixed (inline, None, 0 bytes)
View raw message