You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Gary Tully (JIRA)" <ji...@apache.org> on 2008/12/15 19:37:05 UTC

[jira] Created: (AMQ-2034) consumer close with active XA transaction results in java.lang.IllegalArgumentException: The subscription does not exist: ...

consumer close with active XA transaction results in java.lang.IllegalArgumentException: The subscription does not exist: ...
-----------------------------------------------------------------------------------------------------------------------------

                 Key: AMQ-2034
                 URL: https://issues.apache.org/activemq/browse/AMQ-2034
             Project: ActiveMQ
          Issue Type: Bug
          Components: Broker
    Affects Versions: 5.2.0
         Environment: XA spring-jms consumer.close before XA transaction completion
            Reporter: Gary Tully
            Assignee: Gary Tully
             Fix For: 5.3.0


consumer.close removes consumer from broker, later xa transaction commit results in exception as beforeEnd ack of messages fails with IllegalState:
{code}
javax.jms.JMSException: The subscription does not exist: ID:XXXX.dd-52108-1229084857402-0:37:13:1
        at org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:49)
        at org.apache.activemq.ActiveMQConnection.onAsyncException(ActiveMQConnection.java:1692)
        at org.apache.activemq.ActiveMQConnection$2$1.run(ActiveMQConnection.java:1637)
        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.lang.IllegalArgumentException: The subscription does not exist: ID:XXXX.dd-52108-1229084857402-0:37:13:1
        at org.apache.activemq.broker.region.AbstractRegion.acknowledge(AbstractRegion.java:364)
        at org.apache.activemq.broker.region.RegionBroker.acknowledge(RegionBroker.java:470)
        at org.apache.activemq.broker.TransactionBroker.acknowledge(TransactionBroker.java:194)
        at org.apache.activemq.broker.BrokerFilter.acknowledge(BrokerFilter.java:73)
        at org.apache.activemq.broker.MutableBrokerFilter.acknowledge(MutableBrokerFilter.java:84)
        at org.apache.activemq.broker.TransportConnection.processMessageAck(TransportConnection.java:442)
        at org.apache.activemq.command.MessageAck.visit(MessageAck.java:196)
        at org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:291)
        at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:179)
        at org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:68)
        at org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:143)
        at org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityMonitor.java:206)
        at org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:84)
        at org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:196)
        at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:183)
{code}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (AMQ-2034) consumer close with active XA transaction results in java.lang.IllegalArgumentException: The subscription does not exist: ...

Posted by "Gary Tully (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/activemq/browse/AMQ-2034?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=48699#action_48699 ] 

Gary Tully commented on AMQ-2034:
---------------------------------

r734393. Modified the code a little to only use the synchronization if in an XA tx, possibly this could be if not in localTx such that this will allow the managed case to work,
we need a test case that shows the managed usage from the tck if this change breaks the tck.


> consumer close with active XA transaction results in java.lang.IllegalArgumentException: The subscription does not exist: ...
> -----------------------------------------------------------------------------------------------------------------------------
>
>                 Key: AMQ-2034
>                 URL: https://issues.apache.org/activemq/browse/AMQ-2034
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 5.2.0
>         Environment: XA spring-jms consumer.close before XA transaction completion
>            Reporter: Gary Tully
>            Assignee: Gary Tully
>             Fix For: 5.3.0
>
>
> consumer.close removes consumer from broker, later xa transaction commit results in exception as beforeEnd ack of messages fails with IllegalState:
> {code}
> javax.jms.JMSException: The subscription does not exist: ID:XXXX.dd-52108-1229084857402-0:37:13:1
>         at org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:49)
>         at org.apache.activemq.ActiveMQConnection.onAsyncException(ActiveMQConnection.java:1692)
>         at org.apache.activemq.ActiveMQConnection$2$1.run(ActiveMQConnection.java:1637)
>         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.lang.IllegalArgumentException: The subscription does not exist: ID:XXXX.dd-52108-1229084857402-0:37:13:1
>         at org.apache.activemq.broker.region.AbstractRegion.acknowledge(AbstractRegion.java:364)
>         at org.apache.activemq.broker.region.RegionBroker.acknowledge(RegionBroker.java:470)
>         at org.apache.activemq.broker.TransactionBroker.acknowledge(TransactionBroker.java:194)
>         at org.apache.activemq.broker.BrokerFilter.acknowledge(BrokerFilter.java:73)
>         at org.apache.activemq.broker.MutableBrokerFilter.acknowledge(MutableBrokerFilter.java:84)
>         at org.apache.activemq.broker.TransportConnection.processMessageAck(TransportConnection.java:442)
>         at org.apache.activemq.command.MessageAck.visit(MessageAck.java:196)
>         at org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:291)
>         at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:179)
>         at org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:68)
>         at org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:143)
>         at org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityMonitor.java:206)
>         at org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:84)
>         at org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:196)
>         at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:183)
> {code}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (AMQ-2034) consumer close with active XA transaction results in java.lang.IllegalArgumentException: The subscription does not exist: ...

Posted by "Gary Tully (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/activemq/browse/AMQ-2034?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=48193#action_48193 ] 

Gary Tully commented on AMQ-2034:
---------------------------------

The close should be deferred till the transaction completes. 
Same for session.close, it is ok to close the session while XA is still looking after the transaction but a local transaction will be automatically rolled back.

> consumer close with active XA transaction results in java.lang.IllegalArgumentException: The subscription does not exist: ...
> -----------------------------------------------------------------------------------------------------------------------------
>
>                 Key: AMQ-2034
>                 URL: https://issues.apache.org/activemq/browse/AMQ-2034
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 5.2.0
>         Environment: XA spring-jms consumer.close before XA transaction completion
>            Reporter: Gary Tully
>            Assignee: Gary Tully
>             Fix For: 5.3.0
>
>
> consumer.close removes consumer from broker, later xa transaction commit results in exception as beforeEnd ack of messages fails with IllegalState:
> {code}
> javax.jms.JMSException: The subscription does not exist: ID:XXXX.dd-52108-1229084857402-0:37:13:1
>         at org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:49)
>         at org.apache.activemq.ActiveMQConnection.onAsyncException(ActiveMQConnection.java:1692)
>         at org.apache.activemq.ActiveMQConnection$2$1.run(ActiveMQConnection.java:1637)
>         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.lang.IllegalArgumentException: The subscription does not exist: ID:XXXX.dd-52108-1229084857402-0:37:13:1
>         at org.apache.activemq.broker.region.AbstractRegion.acknowledge(AbstractRegion.java:364)
>         at org.apache.activemq.broker.region.RegionBroker.acknowledge(RegionBroker.java:470)
>         at org.apache.activemq.broker.TransactionBroker.acknowledge(TransactionBroker.java:194)
>         at org.apache.activemq.broker.BrokerFilter.acknowledge(BrokerFilter.java:73)
>         at org.apache.activemq.broker.MutableBrokerFilter.acknowledge(MutableBrokerFilter.java:84)
>         at org.apache.activemq.broker.TransportConnection.processMessageAck(TransportConnection.java:442)
>         at org.apache.activemq.command.MessageAck.visit(MessageAck.java:196)
>         at org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:291)
>         at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:179)
>         at org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:68)
>         at org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:143)
>         at org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityMonitor.java:206)
>         at org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:84)
>         at org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:196)
>         at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:183)
> {code}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (AMQ-2034) consumer close with active XA transaction results in java.lang.IllegalArgumentException: The subscription does not exist: ...

Posted by "Gary Tully (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/activemq/browse/AMQ-2034?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=48698#action_48698 ] 

Gary Tully commented on AMQ-2034:
---------------------------------

moving the close to session breaks a few unit tests, The TopicTransacted tests. I get 6 failures & 3 errors on a activemq-core test run.
eg: JmsTopicTransactionTest.testSendSessionClose() verifies that session.close rollbacks the un committed local transaction, but with the change, the transaction is never committed.
Only registering the sync on close if the transaction is XA resolved the issue. As in, the transaction is externally controlled so the transaction completion is out of the control of the session.
It is correct unmanaged JMS behavior so I think the unit tests are correct.
Will this break the tck? 



> consumer close with active XA transaction results in java.lang.IllegalArgumentException: The subscription does not exist: ...
> -----------------------------------------------------------------------------------------------------------------------------
>
>                 Key: AMQ-2034
>                 URL: https://issues.apache.org/activemq/browse/AMQ-2034
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 5.2.0
>         Environment: XA spring-jms consumer.close before XA transaction completion
>            Reporter: Gary Tully
>            Assignee: Gary Tully
>             Fix For: 5.3.0
>
>
> consumer.close removes consumer from broker, later xa transaction commit results in exception as beforeEnd ack of messages fails with IllegalState:
> {code}
> javax.jms.JMSException: The subscription does not exist: ID:XXXX.dd-52108-1229084857402-0:37:13:1
>         at org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:49)
>         at org.apache.activemq.ActiveMQConnection.onAsyncException(ActiveMQConnection.java:1692)
>         at org.apache.activemq.ActiveMQConnection$2$1.run(ActiveMQConnection.java:1637)
>         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.lang.IllegalArgumentException: The subscription does not exist: ID:XXXX.dd-52108-1229084857402-0:37:13:1
>         at org.apache.activemq.broker.region.AbstractRegion.acknowledge(AbstractRegion.java:364)
>         at org.apache.activemq.broker.region.RegionBroker.acknowledge(RegionBroker.java:470)
>         at org.apache.activemq.broker.TransactionBroker.acknowledge(TransactionBroker.java:194)
>         at org.apache.activemq.broker.BrokerFilter.acknowledge(BrokerFilter.java:73)
>         at org.apache.activemq.broker.MutableBrokerFilter.acknowledge(MutableBrokerFilter.java:84)
>         at org.apache.activemq.broker.TransportConnection.processMessageAck(TransportConnection.java:442)
>         at org.apache.activemq.command.MessageAck.visit(MessageAck.java:196)
>         at org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:291)
>         at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:179)
>         at org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:68)
>         at org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:143)
>         at org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityMonitor.java:206)
>         at org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:84)
>         at org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:196)
>         at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:183)
> {code}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Reopened: (AMQ-2034) consumer close with active XA transaction results in java.lang.IllegalArgumentException: The subscription does not exist: ...

Posted by "David Jencks (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/activemq/browse/AMQ-2034?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

David Jencks reopened AMQ-2034:
-------------------------------


To work in managed environments the "delay session close" code has to be in Session, not XASession.  Also I think it needs to check for the sync already having been added so you don't get more than one :-)

> consumer close with active XA transaction results in java.lang.IllegalArgumentException: The subscription does not exist: ...
> -----------------------------------------------------------------------------------------------------------------------------
>
>                 Key: AMQ-2034
>                 URL: https://issues.apache.org/activemq/browse/AMQ-2034
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 5.2.0
>         Environment: XA spring-jms consumer.close before XA transaction completion
>            Reporter: Gary Tully
>            Assignee: Gary Tully
>             Fix For: 5.3.0
>
>
> consumer.close removes consumer from broker, later xa transaction commit results in exception as beforeEnd ack of messages fails with IllegalState:
> {code}
> javax.jms.JMSException: The subscription does not exist: ID:XXXX.dd-52108-1229084857402-0:37:13:1
>         at org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:49)
>         at org.apache.activemq.ActiveMQConnection.onAsyncException(ActiveMQConnection.java:1692)
>         at org.apache.activemq.ActiveMQConnection$2$1.run(ActiveMQConnection.java:1637)
>         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.lang.IllegalArgumentException: The subscription does not exist: ID:XXXX.dd-52108-1229084857402-0:37:13:1
>         at org.apache.activemq.broker.region.AbstractRegion.acknowledge(AbstractRegion.java:364)
>         at org.apache.activemq.broker.region.RegionBroker.acknowledge(RegionBroker.java:470)
>         at org.apache.activemq.broker.TransactionBroker.acknowledge(TransactionBroker.java:194)
>         at org.apache.activemq.broker.BrokerFilter.acknowledge(BrokerFilter.java:73)
>         at org.apache.activemq.broker.MutableBrokerFilter.acknowledge(MutableBrokerFilter.java:84)
>         at org.apache.activemq.broker.TransportConnection.processMessageAck(TransportConnection.java:442)
>         at org.apache.activemq.command.MessageAck.visit(MessageAck.java:196)
>         at org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:291)
>         at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:179)
>         at org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:68)
>         at org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:143)
>         at org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityMonitor.java:206)
>         at org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:84)
>         at org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:196)
>         at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:183)
> {code}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Closed: (AMQ-2034) consumer close with active XA transaction results in java.lang.IllegalArgumentException: The subscription does not exist: ...

Posted by "David Jencks (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/activemq/browse/AMQ-2034?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

David Jencks closed AMQ-2034.
-----------------------------

    Resolution: Fixed

fixed in rev 732489.

> consumer close with active XA transaction results in java.lang.IllegalArgumentException: The subscription does not exist: ...
> -----------------------------------------------------------------------------------------------------------------------------
>
>                 Key: AMQ-2034
>                 URL: https://issues.apache.org/activemq/browse/AMQ-2034
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 5.2.0
>         Environment: XA spring-jms consumer.close before XA transaction completion
>            Reporter: Gary Tully
>            Assignee: Gary Tully
>             Fix For: 5.3.0
>
>
> consumer.close removes consumer from broker, later xa transaction commit results in exception as beforeEnd ack of messages fails with IllegalState:
> {code}
> javax.jms.JMSException: The subscription does not exist: ID:XXXX.dd-52108-1229084857402-0:37:13:1
>         at org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:49)
>         at org.apache.activemq.ActiveMQConnection.onAsyncException(ActiveMQConnection.java:1692)
>         at org.apache.activemq.ActiveMQConnection$2$1.run(ActiveMQConnection.java:1637)
>         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.lang.IllegalArgumentException: The subscription does not exist: ID:XXXX.dd-52108-1229084857402-0:37:13:1
>         at org.apache.activemq.broker.region.AbstractRegion.acknowledge(AbstractRegion.java:364)
>         at org.apache.activemq.broker.region.RegionBroker.acknowledge(RegionBroker.java:470)
>         at org.apache.activemq.broker.TransactionBroker.acknowledge(TransactionBroker.java:194)
>         at org.apache.activemq.broker.BrokerFilter.acknowledge(BrokerFilter.java:73)
>         at org.apache.activemq.broker.MutableBrokerFilter.acknowledge(MutableBrokerFilter.java:84)
>         at org.apache.activemq.broker.TransportConnection.processMessageAck(TransportConnection.java:442)
>         at org.apache.activemq.command.MessageAck.visit(MessageAck.java:196)
>         at org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:291)
>         at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:179)
>         at org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:68)
>         at org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:143)
>         at org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityMonitor.java:206)
>         at org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:84)
>         at org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:196)
>         at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:183)
> {code}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (AMQ-2034) consumer close with active XA transaction results in java.lang.IllegalArgumentException: The subscription does not exist: ...

Posted by "David Jencks (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/activemq/browse/AMQ-2034?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=48541#action_48541 ] 

David Jencks commented on AMQ-2034:
-----------------------------------

BTW the problem in the managed environment showed up running the tck in geronimo.

> consumer close with active XA transaction results in java.lang.IllegalArgumentException: The subscription does not exist: ...
> -----------------------------------------------------------------------------------------------------------------------------
>
>                 Key: AMQ-2034
>                 URL: https://issues.apache.org/activemq/browse/AMQ-2034
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 5.2.0
>         Environment: XA spring-jms consumer.close before XA transaction completion
>            Reporter: Gary Tully
>            Assignee: Gary Tully
>             Fix For: 5.3.0
>
>
> consumer.close removes consumer from broker, later xa transaction commit results in exception as beforeEnd ack of messages fails with IllegalState:
> {code}
> javax.jms.JMSException: The subscription does not exist: ID:XXXX.dd-52108-1229084857402-0:37:13:1
>         at org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:49)
>         at org.apache.activemq.ActiveMQConnection.onAsyncException(ActiveMQConnection.java:1692)
>         at org.apache.activemq.ActiveMQConnection$2$1.run(ActiveMQConnection.java:1637)
>         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.lang.IllegalArgumentException: The subscription does not exist: ID:XXXX.dd-52108-1229084857402-0:37:13:1
>         at org.apache.activemq.broker.region.AbstractRegion.acknowledge(AbstractRegion.java:364)
>         at org.apache.activemq.broker.region.RegionBroker.acknowledge(RegionBroker.java:470)
>         at org.apache.activemq.broker.TransactionBroker.acknowledge(TransactionBroker.java:194)
>         at org.apache.activemq.broker.BrokerFilter.acknowledge(BrokerFilter.java:73)
>         at org.apache.activemq.broker.MutableBrokerFilter.acknowledge(MutableBrokerFilter.java:84)
>         at org.apache.activemq.broker.TransportConnection.processMessageAck(TransportConnection.java:442)
>         at org.apache.activemq.command.MessageAck.visit(MessageAck.java:196)
>         at org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:291)
>         at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:179)
>         at org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:68)
>         at org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:143)
>         at org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityMonitor.java:206)
>         at org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:84)
>         at org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:196)
>         at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:183)
> {code}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Closed: (AMQ-2034) consumer close with active XA transaction results in java.lang.IllegalArgumentException: The subscription does not exist: ...

Posted by "Gary Tully (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/activemq/browse/AMQ-2034?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Gary Tully closed AMQ-2034.
---------------------------

    Resolution: Fixed

see svn commit details

> consumer close with active XA transaction results in java.lang.IllegalArgumentException: The subscription does not exist: ...
> -----------------------------------------------------------------------------------------------------------------------------
>
>                 Key: AMQ-2034
>                 URL: https://issues.apache.org/activemq/browse/AMQ-2034
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 5.2.0
>         Environment: XA spring-jms consumer.close before XA transaction completion
>            Reporter: Gary Tully
>            Assignee: Gary Tully
>             Fix For: 5.3.0
>
>
> consumer.close removes consumer from broker, later xa transaction commit results in exception as beforeEnd ack of messages fails with IllegalState:
> {code}
> javax.jms.JMSException: The subscription does not exist: ID:XXXX.dd-52108-1229084857402-0:37:13:1
>         at org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:49)
>         at org.apache.activemq.ActiveMQConnection.onAsyncException(ActiveMQConnection.java:1692)
>         at org.apache.activemq.ActiveMQConnection$2$1.run(ActiveMQConnection.java:1637)
>         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.lang.IllegalArgumentException: The subscription does not exist: ID:XXXX.dd-52108-1229084857402-0:37:13:1
>         at org.apache.activemq.broker.region.AbstractRegion.acknowledge(AbstractRegion.java:364)
>         at org.apache.activemq.broker.region.RegionBroker.acknowledge(RegionBroker.java:470)
>         at org.apache.activemq.broker.TransactionBroker.acknowledge(TransactionBroker.java:194)
>         at org.apache.activemq.broker.BrokerFilter.acknowledge(BrokerFilter.java:73)
>         at org.apache.activemq.broker.MutableBrokerFilter.acknowledge(MutableBrokerFilter.java:84)
>         at org.apache.activemq.broker.TransportConnection.processMessageAck(TransportConnection.java:442)
>         at org.apache.activemq.command.MessageAck.visit(MessageAck.java:196)
>         at org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:291)
>         at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:179)
>         at org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:68)
>         at org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:143)
>         at org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityMonitor.java:206)
>         at org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:84)
>         at org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:196)
>         at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:183)
> {code}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.