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

Robert Muir updated LUCENE-5570:
--------------------------------

    Attachment: LUCENE-5570_zerobyte.patch

Thats a good point Simon, i think its going to be a pain to deal with this 
stupid stale files map (to really fix the stupid leniency)

But as a start, we should fix fsync to not create new zero byte files under any 
condition. Here is a patch for that.

> FSDirectory's fsync() is lenient
> --------------------------------
>
>                 Key: LUCENE-5570
>                 URL: https://issues.apache.org/jira/browse/LUCENE-5570
>             Project: Lucene - Core
>          Issue Type: Bug
>          Components: core/store
>            Reporter: Robert Muir
>         Attachments: LUCENE-5570.patch, LUCENE-5570_zerobyte.patch
>
>
> This method has a lot of problems:
> 1. it tracks 'stale files' as it writes (this seems pointless), and only 
> actually fsyncs the intersection of that 'stale files' and the filenames 
> passed as argument to sync(). So any bogus names passed to sync() are just 
> silently ignored
> 2. if "something bad happens" (e.g. two indexwriters/dirs on the same path, 
> or some other shenanigans), and the file is actually in stale files, but was 
> say actually deleted on the filesystem, the underlying fsync() call will 
> create a new 0-byte file and fsync that.
> In my opinion we should do none of this. we should throw exceptions when this 
> stuff is wrong.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to