You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "Gary Tully (Jira)" <ji...@apache.org> on 2020/04/08 13:32:00 UTC

[jira] [Created] (AMQ-7464) ServerSession run does not copy message before dispatch; rollback delivered ack messageId can get corrupted by direct forward, leading to "Could not correlate acknowledgment with dispatched message" JMSException

Gary Tully created AMQ-7464:
-------------------------------

             Summary: ServerSession run does not copy message before dispatch;  rollback delivered ack messageId can get corrupted by direct forward, leading to "Could not correlate acknowledgment with dispatched message" JMSException
                 Key: AMQ-7464
                 URL: https://issues.apache.org/jira/browse/AMQ-7464
             Project: ActiveMQ
          Issue Type: Bug
          Components: JCA Container, JMS client
    Affects Versions: 5.15.0
            Reporter: Gary Tully
            Assignee: Gary Tully
             Fix For: 5.16.0


An MDB, that directly forwards its message can lead to unmatched acks on rollback.
The root cause is ServerSession.run not doing a message copy before up call to the listener.
An unmatched delivered ACK cause a broker error and JMS exception "Could not correlate acknowledgment with dispatched message" that closes the connection which prevents normal rollback and redelivery processing.

The fix is to copy, in the same way as a regular message consumer, such that the application is free to do what every it wants to the message.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)