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

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

[~gtully] If that's what that flag actually means in the code, then I think we 
should 1) update the documentation on that flag, and 2) consider whether to 
begin the process of renaming the flag to the name you proposed, to make its 
actual purpose self-documenting. We could deprecate but keep (for now) the 
original name, but have both map to the same variable in the config class (via 
two setters but only one member variable). As long as the documentation for the 
old name clearly stated that the two were functionally equivalent and users 
should not set both values (or at least not to the same value), I'd think that 
would be a reasonable solution that was backwards-compatible for users 
upgrading but moved us in a good direction for avoiding future confusion.

> 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 
> ([http://activemq.2283324.n4.nabble.com/Re-failed-to-start-ActiveMQ-td4737631.html|http://activemq.2283324.n4.nabble.com/Re-failed-to-start-ActiveMQ-td4737631.html])
>  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.
> Note that the file is missing because the user manually deleted it in an 
> effort to work around AMQ-6931, but that should not be relevant to the 
> behavior that's being seen.



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

Reply via email to