We have put ActiveMQ on a fresh server. Configured it to use 'kahadb' (the preferred as we read) and set it to allow the file to expand to 2gb.
Then when we put load on the queue (+- 500/sec), within a few minutes activemq crashes.
When ActiveMQ tries to restart, it can't because the db is corrupt:
2010-11-29 13:00:50,359 | ERROR | Failed to start ActiveMQ JMS Message Broker. Reason:
java.io.EOFException | org.apache.activemq.broker.BrokerService | WrapperSimpleAppMain
java.io.EOFException
at java.io.RandomAccessFile.readFully(RandomAccessFile.java:383)
at java.io.RandomAccessFile.readFully(RandomAccessFile.java:361)
at o开发者_StackOverflow社区rg.apache.kahadb.page.PageFile.readPage(PageFile.java:792)
at org.apache.kahadb.page.Transaction.load(Transaction.java:411)
Only by deleting the DB and letting it fix itself using the journal is it up again, only to crash again after a few minutes.
Anyone else having these reliability issues?
ActivemQ (5.4.1) is installed on Win2003, with Java64 bit (1.6.0__22)
The load is being done by 4 webservers running PHP using Stomp.
This is a known issue for 5.4.1. It's fixed and available in 5.4.2 release that should go out any day now. You can test release candidate from here: https://repository.apache.org/content/repositories/orgapacheactivemq-023/org/apache/activemq/apache-activemq/5.4.2/
I also noticed this issue (bad performance and a lot of crashing on high traffic from several machines). It's indeed fixed in the latest release, but I would suggest to downgrade to 5.3.2 on production systems.
精彩评论