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

Gary Tully commented on AMQ-3305:
---------------------------------

added new RecoveredTransaction JMX MBean to allow administrative heuristic 
completion of recovered XA transactions.

> Implement "exactly once" delivery with kahaDB and XA in the event of a 
> failure post prepare
> -------------------------------------------------------------------------------------------
>
>                 Key: AMQ-3305
>                 URL: https://issues.apache.org/jira/browse/AMQ-3305
>             Project: ActiveMQ
>          Issue Type: Improvement
>          Components: Message Store
>    Affects Versions: 5.5.0
>         Environment: XA (with Geronimo for TM in the camel route test)
>            Reporter: Gary Tully
>            Assignee: Gary Tully
>              Labels: 2pc, XA, camel, geronimo
>             Fix For: 5.6.0
>
>
> With XA 2PC, a camel route, jms 'to' jdbc should ensure exactly once delivery 
> to jdbc. In the event of a failure after prepare, where commit to jdbc is 
> done, the jms message must remain with a pending ack till the commit outcome 
> is relayed from the transaction manager.
> Current versions of geronimo will correctly retry the commit in a timer 
> thread, so activemq eventually gets the commit outcome after recovery. (btw: 
> it looks like howl will not persist a commit outcome per NamedXAResource, so 
> after a failure of the TM it may consier the transaction completed and the 
> message may still be pending, need to check that!)
> At the moment, ActiveMQ does a heuristic rollback after recovery which leads 
> to message redelivery in error.
> With the fix, an acked message remains pending awaiting the outcome. On 
> commit, the message is acked. On rollback the message is available for 
> redelivery.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to