[ 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