[
https://issues.apache.org/jira/browse/LUCENE-8735?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16801743#comment-16801743
]
ASF subversion and git services commented on LUCENE-8735:
---------------------------------------------------------
Commit 04afdb6442186d5b23d87505063487f590642efc in lucene-solr's branch
refs/heads/master from Henning Andersen
[ https://gitbox.apache.org/repos/asf?p=lucene-solr.git;h=04afdb6 ]
LUCENE-8735: Avoid FileAlreadyExistsException on windows. (#619)
FilterDirectory.getPendingDeletions() did not delegate the call, which
resulted in a new IndexWriter on same directory not considering pending
delete files. This could in turn result in a FileAlreadyExistsException
when running windows.
> FileAlreadyExistsException after opening old commit
> ---------------------------------------------------
>
> Key: LUCENE-8735
> URL: https://issues.apache.org/jira/browse/LUCENE-8735
> Project: Lucene - Core
> Issue Type: Bug
> Components: core/store
> Affects Versions: 8.0
> Reporter: Henning Andersen
> Priority: Major
> Fix For: master (9.0)
>
> Time Spent: 0.5h
> Remaining Estimate: 0h
>
> FilterDirectory.getPendingDeletes() does not delegate calls. This in turn
> means that IndexFileDeleter does not consider those as relevant files.
> When opening an IndexWriter for an older commit, excess files are attempted
> deleted. If an IndexReader exists using one of the newer commits, the excess
> files may fail to delete (at least on windows or when using the mocking
> WindowsFS).
> If then closing and opening the IndexWriter, the information on the pending
> deletes are gone if a FilterDirectory derivate is used. At the same time, the
> pending deletes are filtered out of listAll. This leads to a risk of hitting
> an existing file name, causing a FileAlreadyExistsException.
> This issue likely only exists on windows.
> Will create pull request with fix.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]