You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2018/07/19 17:55:00 UTC

[jira] [Commented] (AMQ-7015) Startup performance improvement when log contains prepared transactions.

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

ASF GitHub Bot commented on AMQ-7015:
-------------------------------------

GitHub user heathkesler opened a pull request:

    https://github.com/apache/activemq/pull/290

    AMQ-7015

    Added a purgeRecoveredXATransactions property on the KahaDB adaptor to purge prepared XA messages on recovery

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/heathkesler/activemq AMQ-7015

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/activemq/pull/290.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #290
    
----
commit ce7498c971b99e2515f07aab36418a1a0f19c03e
Author: hkesler <hk...@...>
Date:   2018-07-19T17:53:04Z

    AMQ-7015 Added a purgeRecoveredXATransactions property on the KahaDB adaptor to purge prepared XA messages on recovery

----


> 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
>
> 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)