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

Tim Bain commented on AMQ-6938:
-------------------------------

This appears to be part of the error described in AMQ-6929, but I've pulled it 
out into a standalone issue to put the focus on the fact that we're not 
respecting the configuration provided via the ignoreMissingJournalFiles 
property, so that AMQ-6929 can focus on whatever the root cause was, if it can 
be determined.

> KahaDB's ignoreMissingJournalFiles argument doesn't actually ignore missing 
> journal files
> -----------------------------------------------------------------------------------------
>
>                 Key: AMQ-6938
>                 URL: https://issues.apache.org/jira/browse/AMQ-6938
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: KahaDB
>    Affects Versions: 5.13.1
>            Reporter: Tim Bain
>            Priority: Major
>
> It was reported on the user mailing list that a user is seeing the broker 
> fail to start due to "java.io.IOException: Could not locate data file 
> /data/kahadb/db-531.log" even though ignoreMissingJournalFiles is set to 
> true. Presumably the purpose of that option is to allow the broker to ignore 
> missing journal files (otherwise we chose poorly when naming the option and 
> then failed to document it adequately on the wiki), which means the option 
> doesn't work properly in all situations.
> Looking at the code on master as of 3/25/2018, 
> org.apache.activemq.store.kahadb.MessageDatabase.recover() calls 
> journal.getNextLocation(null) on line 677, which will throw the exception in 
> question when DataFile.getDataFile() is called. This call to 
> journal.getNextLocation() occurs outside of the while loop, whereas the 
> ignoreMissingJournalFiles value is only checked in the catch block within the 
> while loop, so we do not consider the ignoreMissingJournalFiles value in the 
> call to getNextLocation(), even though missing journal files can cause 
> getNextLocation() to fail.



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

Reply via email to