[
https://issues.apache.org/jira/browse/QPID-643?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Martin Ritchie updated QPID-643:
--------------------------------
Attachment: QPID-XXX-CSDM-CausesDuplicateDelivery.patch
> CSDM causes duplicate message delivery.
> ---------------------------------------
>
> Key: QPID-643
> URL: https://issues.apache.org/jira/browse/QPID-643
> Project: Qpid
> Issue Type: Bug
> Components: Java Broker
> Affects Versions: M2, M2.1
> Reporter: Martin Ritchie
> Assignee: Martin Ritchie
> Fix For: M2
>
> Attachments: QPID-XXX-CSDM-CausesDuplicateDelivery.patch
>
>
> // This can currently occur because of the
> recursive call below
> // During unit tests the send can occur
> // client then rejects
> // this reject then releases the message by the
> time the
> // if(!msg.isTaken()) call is made below
> // the message has been released so that thread
> loops to send the message again
> // of course by the time it gets back to here.
> the thread that released the
> // message is now ready to send it. Here is a
> sample trace for reference
> //1192627162613:Thread[pool-917-thread-4,5,main]:CSDM:delivery:(true)message:Message[(HC:5529738
> ID:145 Ref:1)]: 145; ref count: 1; taken for queues:
> {Queue(queue-596fb10e-2968-4e51-a751-1e6643bf9dd6)@16017326=false} by
> Subs:{Queue(queue-596fb10e-2968-4e51-a751-1e6643bf9dd6)@16017326=null}:sub:[channel=Channel:
> id 1, transaction mode: true, prefetch marks: 2500/5000, consumerTag=41,
> session=anonymous(5050419), resendQueue=false]
> //1192627162613:Thread[pool-917-thread-4,5,main]:Msg:taken:Q:Queue(queue-596fb10e-2968-4e51-a751-1e6643bf9dd6)@16017326:sub:[channel=Channel:
> id 1, transaction mode: true, prefetch marks: 2500/5000, consumerTag=41,
> session=anonymous(5050419), resendQueue=false]:this:Message[(HC:5529738
> ID:145 Ref:1)]: 145; ref count: 1; taken for queues:
> {Queue(queue-596fb10e-2968-4e51-a751-1e6643bf9dd6)@16017326=false} by
> Subs:{Queue(queue-596fb10e-2968-4e51-a751-1e6643bf9dd6)@16017326=null}
> //1192627162613:Thread[pool-917-thread-4,5,main]:28398657 Sent :dt:214
> msg:(HC:5529738 ID:145 Ref:1)
> //1192627162613:Thread[pool-917-thread-2,5,main]:Reject message
> by:[channel=Channel: id 1, transaction mode: true, prefetch marks: 2500/5000,
> consumerTag=41, session=anonymous(5050419), resendQueue=false]
> //1192627162613:Thread[pool-917-thread-2,5,main]:Releasing
> Message:(HC:5529738 ID:145 Ref:1)
> //1192627162613:Thread[pool-917-thread-2,5,main]:Msg:Release:Q:Queue(queue-596fb10e-2968-4e51-a751-1e6643bf9dd6)@16017326:This:Message[(HC:5529738
> ID:145 Ref:1)]: 145; ref count: 1; taken for queues:
> {Queue(queue-596fb10e-2968-4e51-a751-1e6643bf9dd6)@16017326=false} by
> Subs:{Queue(queue-596fb10e-2968-4e51-a751-1e6643bf9dd6)@16017326=[channel=Channel:
> id 1, transaction mode: true, prefetch marks: 2500/5000, consumerTag=41,
> session=anonymous(5050419), resendQueue=false]}
> //1192627162613:Thread[pool-917-thread-2,5,main]:CSDM:delivery:(true)message:Message[(HC:5529738
> ID:145 Ref:1)]: 145; ref count: 1; taken for queues:
> {Queue(queue-596fb10e-2968-4e51-a751-1e6643bf9dd6)@16017326=false} by
> Subs:{Queue(queue-596fb10e-2968-4e51-a751-1e6643bf9dd6)@16017326=null}:sub:[channel=Channel:
> id 1, transaction mode: true, prefetch marks: 2500/5000, consumerTag=33,
> session=anonymous(26960027), resendQueue=false]
> //1192627162629:Thread[pool-917-thread-4,5,main]:CSDM:suspended:
> Message((HC:5529738 ID:145 Ref:1)) has not been taken so recursing!:
> Subscriber:28398657
> //1192627162629:Thread[pool-917-thread-4,5,main]:CSDM:delivery:(true)message:Message[(HC:5529738
> ID:145 Ref:1)]: 145; ref count: 1; taken for queues:
> {Queue(queue-596fb10e-2968-4e51-a751-1e6643bf9dd6)@16017326=false} by
> Subs:{Queue(queue-596fb10e-2968-4e51-a751-1e6643bf9dd6)@16017326=null}:sub:[channel=Channel:
> id 1, transaction mode: true, prefetch marks: 2500/5000, consumerTag=33,
> session=anonymous(26960027), resendQueue=false]
> //1192627162629:Thread[pool-917-thread-2,5,main]:Msg:taken:Q:Queue(queue-596fb10e-2968-4e51-a751-1e6643bf9dd6)@16017326:sub:[channel=Channel:
> id 1, transaction mode: true, prefetch marks: 2500/5000, consumerTag=33,
> session=anonymous(26960027), resendQueue=false]:this:Message[(HC:5529738
> ID:145 Ref:1)]: 145; ref count: 1; taken for queues:
> {Queue(queue-596fb10e-2968-4e51-a751-1e6643bf9dd6)@16017326=false} by
> Subs:{Queue(queue-596fb10e-2968-4e51-a751-1e6643bf9dd6)@16017326=null}
> //1192627162629:Thread[pool-917-thread-2,5,main]:25386607 Sent :dt:172
> msg:(HC:5529738 ID:145 Ref:1)
> //1192627162629:Thread[pool-917-thread-4,5,main]:Msg:taken:Q:Queue(queue-596fb10e-2968-4e51-a751-1e6643bf9dd6)@16017326:sub:[channel=Channel:
> id 1, transaction mode: true, prefetch marks: 2500/5000, consumerTag=33,
> session=anonymous(26960027), resendQueue=false]:this:Message[(HC:5529738
> ID:145 Ref:1)]: 145; ref count: 1; taken for queues:
> {Queue(queue-596fb10e-2968-4e51-a751-1e6643bf9dd6)@16017326=true} by
> Subs:{Queue(queue-596fb10e-2968-4e51-a751-1e6643bf9dd6)@16017326=[channel=Channel:
> id 1, transaction mode: true, prefetch marks: 2500/5000, consumerTag=33,
> session=anonymous(26960027), resendQueue=false]}
> // Note: In the last request to take the message
> from thread 4,5 the message has been
> // taken by the previous call done by thread 2,5
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.