[Java 0-8 Client] Failover during transaction may cause erroneous attempts to
acknowledge in new connection
-----------------------------------------------------------------------------------------------------------
Key: QPID-2745
URL: https://issues.apache.org/jira/browse/QPID-2745
Project: Qpid
Issue Type: Bug
Components: Java Client
Affects Versions: 0.6
Reporter: Rob Godfrey
It was observed that a failover (in the case caused by a timeout) caused the
client to attempt to ack messages on the new connection that has been received
on the old connection - this caused a broker error:
2010-06-25 14:04:28,766 ERROR [pool-2-thread-14]
protocol.AMQMinaProtocolSession (AMQMinaProtocolSession.java:409) - Unexpected
exception while processing frame. Closing connection.
org.apache.qpid.AMQException: Ack with delivery tag 22 not known for channel
at
org.apache.qpid.server.txn.LocalTransactionalContext.checkAck(LocalTransactionalContext.java:172)
at
org.apache.qpid.server.txn.LocalTransactionalContext.acknowledgeMessage(LocalTransactionalContext.java:182)
at
org.apache.qpid.server.ack.UnacknowledgedMessageMapImpl.acknowledgeMessage(UnacknowledgedMessageMapImpl.java:143)
at
org.apache.qpid.server.AMQChannel.acknowledgeMessage(AMQChannel.java:772)
at
org.apache.qpid.server.handler.BasicAckMethodHandler.methodReceived(BasicAckMethodHandler.java:65)
at
org.apache.qpid.server.handler.ServerMethodDispatcherImpl.dispatchBasicAck(ServerMethodDispatcherImpl.java:125)
at
org.apache.qpid.framing.amqp_0_9.BasicAckBodyImpl.execute(BasicAckBodyImpl.java:126)
at
org.apache.qpid.server.state.AMQStateManager.methodReceived(AMQStateManager.java:204)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:[email protected]