You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Michael McCandless (JIRA)" <ji...@apache.org> on 2016/02/03 23:09:39 UTC

[jira] [Updated] (LUCENE-6835) Directory.deleteFile should "own" retrying deletions on Windows

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

Michael McCandless updated LUCENE-6835:
---------------------------------------
    Attachment: LUCENE-6835.patch

I think the branch is in pretty good shape ... tests pass, even when forcing {{VirusCheckingFS}} usage.

I'm attaching an applyable a "createPatch.py" patch.

I have one nocommit left: what to do about IndexFileDeleter's previous heroics around not removing any files referenced by a stale segments_N when that segments_N itself cannot be deleted.  I think we should just remove this (OS-specific) behavior?

I'm a little nervous about the changes to FSDirectory, holding onto pending deletions, retrying them periodically on new write operations ... but I do think it's important we get this OS-specific behavior in Lucene down lower in the stack ...

I also fixed the new {{VirusCheckingFS}} to not use {{Random}} instance anymore, but do its own pseudo-random behavior based on the hash of the incoming {{Path}}.

> Directory.deleteFile should "own" retrying deletions on Windows
> ---------------------------------------------------------------
>
>                 Key: LUCENE-6835
>                 URL: https://issues.apache.org/jira/browse/LUCENE-6835
>             Project: Lucene - Core
>          Issue Type: Improvement
>            Reporter: Michael McCandless
>             Fix For: 5.5, master
>
>         Attachments: LUCENE-6835.patch, LUCENE-6835.patch
>
>
> Rob's idea:
> Today, we have hairy logic in IndexFileDeleter to deal with Windows file systems that cannot delete still open files.
> And with LUCENE-6829, where OfflineSorter now must deal with the situation too ... I worked around it by fixing all tests to disable the virus checker.
> I think it makes more sense to push this "platform specific problem" lower in the stack, into Directory?  I.e., its deleteFile method would catch the access denied, and then retry the deletion later.  Then we could re-enable virus checker on all these tests, simplify IndexFileDeleter, etc.
> Maybe in the future we could further push this down, into WindowsDirectory,  and fix FSDirectory.open to return WindowsDirectory on windows ...



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

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