activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gary Tully (JIRA)" <j...@apache.org>
Subject [jira] [Resolved] (AMQ-3305) Implement "exactly once" delivery with kahaDB and XA in the event of a failure post prepare
Date Fri, 06 May 2011 13:57:03 GMT

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

Gary Tully resolved AMQ-3305.
-----------------------------

    Resolution: Fixed

fix in http://svn.apache.org/viewvc?rev=1100208&view=rev

camel xml with route from jms queue to jdbc that does XA is at: http://svn.apache.org/viewvc/activemq/trunk/activemq-camel/src/test/resources/org/apache/activemq/camel/jmsXajdbc.xml?view=markup

> 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

Mime
View raw message