ActiveMQ 5.4.1 崩溃,当负载放置在队列上时数据库损坏

问题描述 投票:0回答:2

我们已将 ActiveMQ 放在新服务器上。将其配置为使用“kahadb”(我们读到的首选)并将其设置为允许文件扩展到 2GB。

然后,当我们将负载放入队列时(+- 500/秒),几分钟内 activemq 就会崩溃。

当 ActiveMQ 尝试重新启动时,它无法重新启动,因为数据库已损坏:

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 org.apache.kahadb.page.PageFile.readPage(PageFile.java:792)
at org.apache.kahadb.page.Transaction.load(Transaction.java:411)

只有删除数据库并让它使用日志自行修复才能再次启动,但几分钟后又会崩溃。

还有其他人遇到这些可靠性问题吗?

ActivemQ(5.4.1)安装在Win2003上,Java64位(1.6.0__22)

负载由 4 个使用 Stomp 运行 PHP 的网络服务器完成。

activemq
2个回答
4
投票

这是 5.4.1 的已知问题。它已在 5.4.2 版本中修复并可用,现在随时都会发布。您可以从这里测试候选版本:https://repository.apache.org/content/repositories/orgapacheactivemq-023/org/apache/activemq/apache-activemq/5.4.2/


2
投票

我也注意到了这个问题(性能不佳,并且多台机器在高流量时崩溃)。它确实在最新版本中得到了修复,但我建议在生产系统上降级到 5.3.2。

© www.soinside.com 2019 - 2024. All rights reserved.