[ 
https://issues.apache.org/jira/browse/AMQ-7185?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16922493#comment-16922493
 ] 

David Hilton edited comment on AMQ-7185 at 9/4/19 1:42 PM:
-----------------------------------------------------------

[~gtully]  Do you have any feeling as to when 5.16.x might get released ?


was (Author: davidhilton68):
Do you have any feeling as to when 5.16.x might get released ?

> XA durable sub prepared acks don't block redelivery
> ---------------------------------------------------
>
>                 Key: AMQ-7185
>                 URL: https://issues.apache.org/jira/browse/AMQ-7185
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker, XA
>    Affects Versions: 5.15.0
>            Reporter: Gary Tully
>            Assignee: Gary Tully
>            Priority: Major
>             Fix For: 5.16.0
>
>
> If a durable sub acks a message in an XA transaction, on prepare the disk 
> image is updated and on recovery the messages is pending an outcome and won't 
> be redelivered.
> however if the durable sub disconnects and reconnects without a broker 
> restart, it can receive the same messages again. Acked and prepared messages 
> should be blocked pending the xa transaction outcome.
> This duplicate delivery can result in duplicate acks and early deletion of 
> the message due to the reference count. The end result, another sub may see 
> the message pending but not be able to receive it b/c it has already been 
> removed from the store.
> symptom in other words:
> durableSub1 and durableStub2 registered, send one message to the topic. The 
> message reference count is 2.
> durabelSub1 does receive in xa transaction, prepares and dies. The ack needs 
> recovery and completion via the transaction manager.
> durableSub1 reconnects and gets the same message again! commits success. The 
> message reference count is decremented to 1.
> the first xa transaction gets recovered and commits, the duplicate ack gets 
> processed; the message reference count is 0 and the message gets deleted in 
> error.
> durableSub2 tries to receive, message pending is 1, but it does not get any 
> message!
>  
>  
>  



--
This message was sent by Atlassian Jira
(v8.3.2#803003)

Reply via email to