[
https://issues.apache.org/jira/browse/LUCENE-5588?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13964738#comment-13964738
]
Uwe Schindler edited comment on LUCENE-5588 at 4/9/14 10:22 PM:
----------------------------------------------------------------
Here is my idea about a patch. For directories {{IOUtils.fsync(file, true}} it
is lenient, so it does not throw IOEx if it does not work (it is just "best
guess").
On Windows syncing on files is disabled alltogether, to not spend time in the
for-loop.
I have no yet completely debugged it, but this should bring more safety. I will
delay 4.8 release branch creation a bit, to discuss if we want to have that as
extra safety in Lucene 4.8.
was (Author: thetaphi):
Here is my idea about a patch. For directories ({{IOUtils.fsync(file, true}} it
is lenient, so it does not throw IOEx if it does not work (it is just "best
guess").
On Windows syncing on files is disabled alltogether, to not spend time in the
for-loop.
I have no yet completely debugged it, but this should bring more safety. I will
delay 4.8 release branch creation a bit, to discuss if we want to have that as
extra safety in Lucene 4.8.
> We should also fsync the directory when committing
> --------------------------------------------------
>
> Key: LUCENE-5588
> URL: https://issues.apache.org/jira/browse/LUCENE-5588
> Project: Lucene - Core
> Issue Type: Improvement
> Components: core/store
> Reporter: Uwe Schindler
> Fix For: 4.8, 5.0
>
> Attachments: LUCENE-5588.patch
>
>
> Since we are on Java 7 now and we already fixed FSDir.sync to use FileChannel
> (LUCENE-5570), we can also fsync the directory (at least try to do it).
> Unlike RandomAccessFile, which must be a regular file, FileChannel.open() can
> also open a directory:
> http://stackoverflow.com/questions/7694307/using-filechannel-to-fsync-a-directory-with-nio-2
--
This message was sent by Atlassian JIRA
(v6.2#6252)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]