Returned Msgs on a closed connection can cause RejectedExecutionException
-------------------------------------------------------------------------

                 Key: QPID-811
                 URL: https://issues.apache.org/jira/browse/QPID-811
             Project: Qpid
          Issue Type: Bug
          Components: Java Client
    Affects Versions: M2.1
            Reporter: Martin Ritchie
            Assignee: Martin Ritchie
             Fix For: M2.1


If a returned msg arrives when the connection is closed then an REE will occur.

The returned msg should not occur after the close-ok has occured so while 
preventing task execution on the shutdown pool will prevent the REE it is not 
AMQP compliant.

java.util.concurrent.RejectedExecutionException
        at 
java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:1759)
        at 
java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:767)
        at 
java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:658)
        at 
org.apache.qpid.client.AMQConnection.performConnectionTask(AMQConnection.java:1448)
        at 
org.apache.qpid.client.AMQSession.returnBouncedMessage(AMQSession.java:2667)
        at 
org.apache.qpid.client.AMQSession.messageReceived(AMQSession.java:1410)
        at 
org.apache.qpid.client.protocol.AMQProtocolSession.deliverMessageToAMQSession(AMQProtocolSession.java:330)
        at 
org.apache.qpid.client.protocol.AMQProtocolSession.contentBodyReceived(AMQProtocolSession.java:312)
        at org.apache.qpid.framing.ContentBody.handle(ContentBody.java:76)
        at 
org.apache.qpid.client.protocol.AMQProtocolHandler.messageReceived(AMQProtocolHandler.java:443)
        at 
org.apache.mina.common.support.AbstractIoFilterChain$TailFilter.messageReceived(AbstractIoFilterChain.java:703)
        at 
org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:362)
        at 
org.apache.mina.common.support.AbstractIoFilterChain.access$1200(AbstractIoFilterChain.java:54)
        at 
org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:800)
        at 
org.apache.mina.filter.ReadThrottleFilterBuilder$Release.messageReceived(ReadThrottleFilterBuilder.java:193)
        at 
org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:362)
        at 
org.apache.mina.common.support.AbstractIoFilterChain.access$1200(AbstractIoFilterChain.java:54)
        at 
org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:800)
        at 
org.apache.mina.common.IoFilterAdapter.messageReceived(IoFilterAdapter.java:83)
        at 
org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:362)
        at 
org.apache.mina.common.support.AbstractIoFilterChain.access$1200(AbstractIoFilterChain.java:54)
        at 
org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:800)
        at 
org.apache.mina.filter.ReadThrottleFilterBuilder$Add.messageReceived(ReadThrottleFilterBuilder.java:180)
        at 
org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:362)
        at 
org.apache.mina.common.support.AbstractIoFilterChain.access$1200(AbstractIoFilterChain.java:54)
        at 
org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:800)
        at 
org.apache.mina.filter.codec.support.SimpleProtocolDecoderOutput.flush(SimpleProtocolDecoderOutput.java:60)
        at 
org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:184)
        at 
org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:362)
        at 
org.apache.mina.common.support.AbstractIoFilterChain.access$1200(AbstractIoFilterChain.java:54)
        at 
org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:800)
        at 
org.apache.qpid.pool.PoolingFilter.messageReceived(PoolingFilter.java:371)
        at 
org.apache.mina.filter.ReferenceCountingIoFilter.messageReceived(ReferenceCountingIoFilter.java:96)
        at 
org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:362)
        at 
org.apache.mina.common.support.AbstractIoFilterChain.access$1200(AbstractIoFilterChain.java:54)
        at 
org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:800)
        at org.apache.qpid.pool.Event$ReceivedEvent.process(Event.java:86)
        at org.apache.qpid.pool.Job.processAll(Job.java:110)
        at org.apache.qpid.pool.Job.run(Job.java:149)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
        at java.lang.Thread.run(Thread.java:619)


-- 
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