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

Erick Erickson updated LUCENE-8149:
-----------------------------------
    Summary: NRTCachingDirectory does not need to preemptively delete segment 
files and generate exceptions  (was: Document why NRTCachingDirectory needs to 
preemptively delete segment files.)

> NRTCachingDirectory does not need to preemptively delete segment files and 
> generate exceptions
> ----------------------------------------------------------------------------------------------
>
>                 Key: LUCENE-8149
>                 URL: https://issues.apache.org/jira/browse/LUCENE-8149
>             Project: Lucene - Core
>          Issue Type: Improvement
>            Reporter: Erick Erickson
>            Assignee: Erick Erickson
>            Priority: Minor
>         Attachments: LUCENE-8149.patch
>
>
> Moving over here from SOLR-11892. After getting through my confusion I've 
> found the following: NRTCachingDirectory.createOutput tries to delete segment 
> files before creating them. We should at least add a bit of commentary as to 
> what the pre-emptive delete is there for since on the surface it's not 
> obvious.
> try {
>   in.deleteFile(name);
> {{ } catch (IOException ioe) {}}
>   // This is fine: file may not exist
> {{ }}}
> If I change to using MMapDirectory or NIOFSDirectory these exceptions are not 
> thrown. What's special about NRTCachingDirectory that it needs this when two 
> of the possible underlying FS implementations apparently do not? Or is this 
> necessary for, say, Windows or file systems than the two I tried? Or is it 
> some interaction between the RAM based segments and segments on disk?



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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

Reply via email to