You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Martin Ritchie (JIRA)" <qp...@incubator.apache.org> on 2006/09/27 11:43:51 UTC

[jira] Commented: (QPID-7) Occasionally messages are ack'd more than once

    [ http://issues.apache.org/jira/browse/QPID-7?page=comments#action_12438075 ] 
            
Martin Ritchie commented on QPID-7:
-----------------------------------

The problem is located in AMQChannel and SubscriptionImpl

SubscriptionImpl was written with the understanding of a single publisher thread. With multiple publisher threading issues occur.

Duplicate delivery tags (Evidenced Here in the single ack error).
Out of order entry in to the unacknowledgedmap (evidienced by multiple ack error) during a transacted session.

Repository revision 450384 fixes this.

> Occasionally messages are ack'd more than once
> ----------------------------------------------
>
>                 Key: QPID-7
>                 URL: http://issues.apache.org/jira/browse/QPID-7
>             Project: Qpid
>          Issue Type: Bug
>            Reporter: Martin Ritchie
>
> When running a single queue and sending and receiving to that queue in the same session (Not in a transaction) occasionally the broker appears to get multiple acks for a given tag. Interestingly when running inside a transaction this doesn't happen.
> 2006-09-21 10:35:24,763 ERROR [pool-10-thread-4] state.AMQStateManager (AMQStateManager.java:150) - State manager received error notification: org.apache.qpid.AMQException: Single ack on delivery tag 434 not known for channel:1
> org.apache.qpid.AMQException: Single ack on delivery tag 434 not known for channel:1
> 	at org.apache.qpid.server.AMQChannel.handleAcknowledgement(AMQChannel.java:550)
> 	at org.apache.qpid.server.AMQChannel.acknowledgeMessage(AMQChannel.java:492)
> 	at org.apache.qpid.server.handler.BasicAckMethodHandler.methodReceived(BasicAckMethodHandler.java:50)
> 	at org.apache.qpid.server.state.AMQStateManager.methodReceived(AMQStateManager.java:165)
> 	at org.apache.qpid.server.protocol.AMQMinaProtocolSession.methodFrameReceived(AMQMinaProtocolSession.java:358)
> 	at org.apache.qpid.server.protocol.AMQMinaProtocolSession.dataBlockReceived(AMQMinaProtocolSession.java:326)
> 	at org.apache.qpid.server.protocol.AMQPFastProtocolHandler.messageReceived(AMQPFastProtocolHandler.java:181)

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira