You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Keith Wall (JIRA)" <ji...@apache.org> on 2014/07/19 00:08:06 UTC

[jira] [Closed] (QPID-2745) [Java 0-8 Client] Failover during transaction may cause erroneous attempts to acknowledge in new connection

     [ https://issues.apache.org/jira/browse/QPID-2745?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Keith Wall closed QPID-2745.
----------------------------

    Resolution: Fixed

Looking at the current implementation (UnacknowledgedMessageMap @ 0.29) this defect can no longer occur. I cannot be certain when this became the case.

> [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
>              Labels: failover
>
> 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 was sent by Atlassian JIRA
(v6.2#6252)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org