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

Gary Tully commented on AMQ-7015:
---------------------------------

this feature breaks the xa contract, recovery is part of xa, the TM will 
deliver the outcome, that is part of it's contract. The MBean is there to allow 
an override, xa heuristics. If it is too tedious to individually rollback each 
transaction, maybe add an option to the mbean to rollback/commit all pending 
transactions.

What does it mean to use an XA transaction with 
purgeRecoveredXATransactions=true?

I guess it is analogous to running a broker with persistence=false and sending 
a persistent message. However in that case, the feature is better enabled by 
not writing a prepare record at all. That will have the same effect, be more 
explicit and preform better.

 

> Startup performance improvement when log contains prepared transactions.
> ------------------------------------------------------------------------
>
>                 Key: AMQ-7015
>                 URL: https://issues.apache.org/jira/browse/AMQ-7015
>             Project: ActiveMQ
>          Issue Type: New Feature
>    Affects Versions: 5.15.4
>            Reporter: Heath Kesler
>            Priority: Minor
>             Fix For: 5.16.0, 5.15.5
>
>
> I have a KahaDB that's performing a recovery on each startup.
> Digging deeper into it I've found that the issue is that the db.log contains 
> prepared transactions.
> The MessageDatabase will discard those entries in memory, however it does not 
> remove transaction info from those messages (I believe that's by design). So 
> on each restart, the broker will find those entries and again discard them in 
> memory.
> If I access the broker via JMX, I can go to the prepared XAs and execute a 
> clear on them one by one.
> When i restart my broker, i don't have a recovery attempted again.
> Performing a remove operation for each message can be very time consuming, so 
> i'd like to introduce an optional parameter to allow all prepared XAs to be 
> removed on recovery.
> Please see my forth coming patch with unit test.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to