[
https://issues.apache.org/jira/browse/AMQ-5966?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Andreas Mattes updated AMQ-5966:
--------------------------------
Description:
The ActiveMQ JMS client is accessed through the ConnectionConsumer protocol. A
ServerSessionPool is provided which creates ServerSessions with transacted JMS
sessions. Up to ActiveMQ 5.11.2, everything has worked fine, but with ActiveMQ
5.12.0, after rollback of a sesseion, the application hangs until JMS
re-connect happens. Further investigation reveals that with ActiveMQ 5.11.2 and
earlier, after rollback a new ServerSession is taken from the pool and loaded
with the message of the rolled back session. With ActiveMQ 5.12.0, however, the
MessageListener of the same session is called again. This is a problem with the
ConnectionConsumer protocol, because the may have claimed the session for
recycling.
The attached piece of test code (AMQRollbackTest.java) demonstrates the issue.
It runs fine with ActiveMQ 5.11.2 and hangs with ActiveMQ 5.12.0. It
demonstrates the issue for QueueSessions, but TopicSessions are affected
equally.
was:
The ActiveMQ JMS client is accessed through the ConnectionConsumer protocol. A
ServerSessionPool is provided which creates ServerSessions with transacted JMS
sessions. Up to ActiveMQ 5.11.2, everything has worked fine, but with ActiveMQ
5.12.0, after rollback of a sesseion, the application hangs until JMS
re-connect happens. Further investigation reveals that with ActiveMQ 5.11.2 and
earlier, after rollback a new ServerSession is taken from the pool and loaded
with the message of the rolled back session. With ActiveMQ 5.12.0, however, the
MessageListener of the same session is called again. This is a problem with the
ConnectionConsumer protocol, because the may have claimed the session for
recycling.
The attached piece of test code demonstrates the issue. It runs fine with
ActiveMQ 5.11.2 and hangs with ActiveMQ 5.12.0.
> ActiveMQ client hangs after rollback of a transacted JMS session
> ----------------------------------------------------------------
>
> Key: AMQ-5966
> URL: https://issues.apache.org/jira/browse/AMQ-5966
> Project: ActiveMQ
> Issue Type: Bug
> Components: JMS client
> Affects Versions: 5.12.0
> Environment: Reproduced standalone under Linux, but any environment
> should be affected.
> Reporter: Andreas Mattes
> Attachments: AMQRollbackTest.java
>
>
> The ActiveMQ JMS client is accessed through the ConnectionConsumer protocol.
> A ServerSessionPool is provided which creates ServerSessions with transacted
> JMS sessions. Up to ActiveMQ 5.11.2, everything has worked fine, but with
> ActiveMQ 5.12.0, after rollback of a sesseion, the application hangs until
> JMS re-connect happens. Further investigation reveals that with ActiveMQ
> 5.11.2 and earlier, after rollback a new ServerSession is taken from the pool
> and loaded with the message of the rolled back session. With ActiveMQ 5.12.0,
> however, the MessageListener of the same session is called again. This is a
> problem with the ConnectionConsumer protocol, because the may have claimed
> the session for recycling.
> The attached piece of test code (AMQRollbackTest.java) demonstrates the
> issue. It runs fine with ActiveMQ 5.11.2 and hangs with ActiveMQ 5.12.0. It
> demonstrates the issue for QueueSessions, but TopicSessions are affected
> equally.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)