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.

Reply via email to