You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Torsten Mielke (JIRA)" <ji...@apache.org> on 2008/12/18 17:04:06 UTC
[jira] Commented: (AMQ-2038) Broker parameter
systemExitOnShutdown="true" not being honored when persistence adapter file
system is unavailable
[ https://issues.apache.org/activemq/browse/AMQ-2038?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=48268#action_48268 ]
Torsten Mielke commented on AMQ-2038:
-------------------------------------
With debug logging turned on the broker raises
{code}
DEBUG - Service - Error occured while processing sync command: java.io.IOException: The volume for a file has been externally a
ltered so that the opened file is no longer valid
java.io.IOException: The volume for a file has been externally altered so that the opened file is no longer valid
at sun.nio.ch.FileChannelImpl.force0(Native Method)
at sun.nio.ch.FileChannelImpl.force(FileChannelImpl.java:359)
at org.apache.activeio.journal.active.LogFile.force(LogFile.java:102)
at org.apache.activeio.journal.active.LogFileManager.append(LogFileManager.java:308)
at org.apache.activeio.journal.active.JournalImpl.queuedWrite(JournalImpl.java:256)
at org.apache.activeio.journal.active.JournalImpl.access$000(JournalImpl.java:62)
at org.apache.activeio.journal.active.JournalImpl$2.run(JournalImpl.java:229)
at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665)
at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)
at java.lang.Thread.run(Thread.java:595)
{code}
Perhaps this should be raised as an error instead of a debug msg? With the default logging turned on, this won't be noticed.
> Broker parameter systemExitOnShutdown="true" not being honored when persistence adapter file system is unavailable
> ------------------------------------------------------------------------------------------------------------------
>
> Key: AMQ-2038
> URL: https://issues.apache.org/activemq/browse/AMQ-2038
> Project: ActiveMQ
> Issue Type: Bug
> Components: Broker
> Affects Versions: 5.0.0
> Environment: Windows XP x86
> Reporter: Wilson Freitas
>
> The broker parameter systemExitOnShutdown="true" is not being honored when persistence adapter file system is unavailable.
> To reproduce the problem:
> - Use journaling persistence pointing to an USB drive diretory.
> - Make sure the broker is configured with systemExitOnShutdown="true":
> <amq:broker id="broker" depends-on="jmxServer" useShutdownHook="false" systemExitOnShutdown="true"> ...
> - After the broker is running send some messages to a queue.
> - Unplug the USB drive.
> - Try to send more messages. The broker will reject the messages and report the following exception:
> javax.jms.JMSException: The volume for a file has been externally altered so that the opened file is no longer valid
> at org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:49)
> at org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1203)
> at org.apache.activemq.ActiveMQSession.send(ActiveMQSession.java:1648)
> at org.apache.activemq.ActiveMQMessageProducer.send(ActiveMQMessageProducer.java:227)
> at org.apache.activemq.ActiveMQMessageProducerSupport.send(ActiveMQMessageProducerSupport.java:241)
> at org.apache.servicemix.jms.multiplexing.MultiplexingProviderProcessor.process(MultiplexingProviderProcessor.java:114)
> at org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:540)
> at org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:492)
> at org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46)
> at org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:621)
> at org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:172)
> at org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:167)
> at org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
> at java.lang.Thread.run(Thread.java:595)
> Caused by: java.io.IOException: The volume for a file has been externally altered so that the opened file is no longer valid
> at sun.nio.ch.FileChannelImpl.force0(Native Method)
> at sun.nio.ch.FileChannelImpl.force(FileChannelImpl.java:359)
> at org.apache.activeio.journal.active.LogFile.force(LogFile.java:102)
> at org.apache.activeio.journal.active.LogFileManager.append(LogFileManager.java:308)
> at org.apache.activeio.journal.active.JournalImpl.queuedWrite(JournalImpl.java:256)
> at org.apache.activeio.journal.active.JournalImpl.access$000(JournalImpl.java:62)
> at org.apache.activeio.journal.active.JournalImpl$2.run(JournalImpl.java:229)
> at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665)
> at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)
> ... 1 more
> This error is not being detected by the broker as a fatal error and the broker is not going down automatically. The issue was reported by a Servicemix user and it is expected that after the AMQ broker goes down SMX must goes down too.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.