[ 
https://issues.apache.org/jira/browse/AMQ-5444?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Timothy Bish resolved AMQ-5444.
-------------------------------
       Resolution: Fixed
    Fix Version/s: 5.11.0
         Assignee: Timothy Bish

Fixed so that the recovery file is actually sync'd when enabled.  

> KahaDB bug that skips doing a sync on recoveryFile
> --------------------------------------------------
>
>                 Key: AMQ-5444
>                 URL: https://issues.apache.org/jira/browse/AMQ-5444
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Message Store
>            Reporter: Jesse Fugitt
>            Assignee: Timothy Bish
>             Fix For: 5.11.0
>
>
> There appears to be a bug in the KahaDB PageFile.java class when attempting 
> to sync files to disk.  If the "enableDiskSyncs" option is set to true, it 
> looks like the code is intending to sync the recoveryFile and the writeFile.  
> However, it accidentally syncs the writeFile twice and fails to sync the 
> recoveryFile.  In the method below, see the if statement towards the bottom 
> that checks the enableDiskSyncs boolean to see the problem:
> private void writeBatch() throws IOException {
> ...
>             if (enableDiskSyncs) {
>                 // Sync to make sure recovery buffer writes land on disk..
>                 if (enableRecoveryFile) {
>                     writeFile.sync(); // This should not be 
> writeFile.sync!!!!!!
>                 }
>                 writeFile.sync();
>             }
> ...
> The code above should have a recoveryFile.sync() on the line with the comment.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to