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] [Commented] (AMQ-4212) Broker may be unable to recover durable topic subscription from the kahadb journal
Date Fri, 15 Feb 2013 16:35:12 GMT

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

Gary Tully commented on AMQ-4212:
---------------------------------

the workaround is to archive data files when they are gc'ed by the persistence adapter. Then
revert to the archived data before rebuilding the index.
{code}archiveDataLogs="true"{code}  attribute of kahadb
                
> Broker may be unable to recover durable topic subscription from the kahadb journal
> ----------------------------------------------------------------------------------
>
>                 Key: AMQ-4212
>                 URL: https://issues.apache.org/jira/browse/AMQ-4212
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Message Store
>    Affects Versions: 5.7.0
>         Environment: kahadb and durable topic subscribers
>            Reporter: Torsten Mielke
>         Attachments: AMQ4212Test.java
>
>
> KahaDB is supposed to recover its index from the journal *completely*. 
> Such recovery can be enforced by stopping the broker, deleting the db.data index file
and restarting the broker. 
> The recovery process may however not be able to recover inactive durable topic subscriptions.

> This is because the kahadb cleanup task will not consider any active subscription entries
in the journal files when marking journal files for deletion. 
> E.g. If a durable sub info was written to e.g. the journal file db-1.log but kahadb has
already rolled over to writing to db-2.log, the cleanup task may delete db1.log (in case all
msgs in db1.log got acked). The durable sub however is still alive. 
> When stopping the broker this durable sub info is still present in the index file and
will be restored at broker restart.
> If however the index file gets deleted in order to enforce a recovery of the index from
the journal, then the broker has lost the information about this durable sub.
> The broker is therefore not able to recover its state fully from the journal files.
> If the durable subscriber remains inactive (i.e. does not reconnect to broker immediately
after broker restart), it may miss messages as the broker has no knowledge of this durable
sub. 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message