Artemis 使用 AMQ222010 关闭:严重 IO 错误,关闭服务器 [要求澄清]
Artemis shutting down with AMQ222010: Critical IO Error, shutting down the server [ask for clarification]
this fix mentioned 是修复了 2.16 中引入的错误,还是修复了长期存在的问题?
很长一段时间以来,我们都有周期性的 ActiveMQ Artemis 停止,类似的 threaddump + 关闭组合从
开始
09:24:10,086 WARN [org.apache.activemq.artemis.core.server] AMQ222010: Critical IO Error, shutting down the server. file=AIOSequentialFile:/home/jms-artemis/jms-broker/./data/journal/activemq-data-267599.amq, message=Timeout on close: java.io.IOException: Timeout on close
at org.apache.activemq.artemis.core.io.aio.AIOSequentialFile.close(AIOSequentialFile.java:126) [artemis-journal-2.4.0.jar:2.4.0]
at org.apache.activemq.artemis.core.io.aio.AIOSequentialFile.close(AIOSequentialFile.java:103) [artemis-journal-2.4.0.jar:2.4.0]
at org.apache.activemq.artemis.core.journal.impl.JournalFilesRepository.closeFile(JournalFilesRepository.java:481) [artemis-journal-2.4.0.jar:2.4.0]
at org.apache.activemq.artemis.core.journal.impl.JournalImpl.moveNextFile(JournalImpl.java:3021) [artemis-journal-2.4.0.jar:2.4.0]
at org.apache.activemq.artemis.core.journal.impl.JournalImpl.switchFileIfNecessary(JournalImpl.java:2960) [artemis-journal-2.4.0.jar:2.4.0]
at org.apache.activemq.artemis.core.journal.impl.JournalImpl.appendRecord(JournalImpl.java:2679) [artemis-journal-2.4.0.jar:2.4.0]
at org.apache.activemq.artemis.core.journal.impl.JournalImpl.access0(JournalImpl.java:90) [artemis-journal-2.4.0.jar:2.4.0]
at org.apache.activemq.artemis.core.journal.impl.JournalImpl.run(JournalImpl.java:1063) [artemis-journal-2.4.0.jar:2.4.0]
at org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:42) [artemis-commons-2.4.0.jar:2.4.0]
at org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:31) [artemis-commons-2.4.0.jar:2.4.0]
at org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) [artemis-commons-2.4.0.jar:2.4.0]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [rt.jar:1.8.0_211]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [rt.jar:1.8.0_211]
at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_211]
09:24:10,101 WARN [org.apache.activemq.artemis.journal] waiting pending callbacks on activemq-data-267599.amq from 10 seconds!
<...>
很长一段时间以来,唯一类似的问题解决方案是 this post,其中指出解决方案是:
Check disk storage health on a hardware level in order to avoid such issues in the future.
那当然不是我们的情况,但我们无法弄清楚问题的核心是什么,所以我们只是适应了定期停机。但是几天前注意到 where it was advised to move to 2.17.0. However, the referenced issue 声明它影响版本 2.16/0.
我们没有故障回复配置,我们使用的是 2.4.0。
diff对于外部人员来说真的很难搞定,而且2.4.0和2.16.0之间的距离足够远,所以问题是2.17.0版本是否解决了一些类似但新的问题2.16引入,还是问题长期潜伏,克服我们应该从2.4到2.17,幸福会来吗?
ARTEMIS-3084 上的“影响版本”是 2.16.0
,但这只是出现问题的最新版本。我相信这个问题存在于以前的版本中。如果您遇到此问题,我建议您移至 2.17.0。
this fix mentioned
很长一段时间以来,我们都有周期性的 ActiveMQ Artemis 停止,类似的 threaddump + 关闭组合从
开始09:24:10,086 WARN [org.apache.activemq.artemis.core.server] AMQ222010: Critical IO Error, shutting down the server. file=AIOSequentialFile:/home/jms-artemis/jms-broker/./data/journal/activemq-data-267599.amq, message=Timeout on close: java.io.IOException: Timeout on close
at org.apache.activemq.artemis.core.io.aio.AIOSequentialFile.close(AIOSequentialFile.java:126) [artemis-journal-2.4.0.jar:2.4.0]
at org.apache.activemq.artemis.core.io.aio.AIOSequentialFile.close(AIOSequentialFile.java:103) [artemis-journal-2.4.0.jar:2.4.0]
at org.apache.activemq.artemis.core.journal.impl.JournalFilesRepository.closeFile(JournalFilesRepository.java:481) [artemis-journal-2.4.0.jar:2.4.0]
at org.apache.activemq.artemis.core.journal.impl.JournalImpl.moveNextFile(JournalImpl.java:3021) [artemis-journal-2.4.0.jar:2.4.0]
at org.apache.activemq.artemis.core.journal.impl.JournalImpl.switchFileIfNecessary(JournalImpl.java:2960) [artemis-journal-2.4.0.jar:2.4.0]
at org.apache.activemq.artemis.core.journal.impl.JournalImpl.appendRecord(JournalImpl.java:2679) [artemis-journal-2.4.0.jar:2.4.0]
at org.apache.activemq.artemis.core.journal.impl.JournalImpl.access0(JournalImpl.java:90) [artemis-journal-2.4.0.jar:2.4.0]
at org.apache.activemq.artemis.core.journal.impl.JournalImpl.run(JournalImpl.java:1063) [artemis-journal-2.4.0.jar:2.4.0]
at org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:42) [artemis-commons-2.4.0.jar:2.4.0]
at org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:31) [artemis-commons-2.4.0.jar:2.4.0]
at org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) [artemis-commons-2.4.0.jar:2.4.0]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [rt.jar:1.8.0_211]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [rt.jar:1.8.0_211]
at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_211]
09:24:10,101 WARN [org.apache.activemq.artemis.journal] waiting pending callbacks on activemq-data-267599.amq from 10 seconds!
<...>
很长一段时间以来,唯一类似的问题解决方案是 this post,其中指出解决方案是:
Check disk storage health on a hardware level in order to avoid such issues in the future.
那当然不是我们的情况,但我们无法弄清楚问题的核心是什么,所以我们只是适应了定期停机。但是几天前注意到
我们没有故障回复配置,我们使用的是 2.4.0。
diff对于外部人员来说真的很难搞定,而且2.4.0和2.16.0之间的距离足够远,所以问题是2.17.0版本是否解决了一些类似但新的问题2.16引入,还是问题长期潜伏,克服我们应该从2.4到2.17,幸福会来吗?
ARTEMIS-3084 上的“影响版本”是 2.16.0
,但这只是出现问题的最新版本。我相信这个问题存在于以前的版本中。如果您遇到此问题,我建议您移至 2.17.0。