lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Simon Willnauer (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (LUCENE-5574) NRT Reader close can wipe index it doesn't own
Date Fri, 04 Apr 2014 11:54:17 GMT

    [ https://issues.apache.org/jira/browse/LUCENE-5574?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13959891#comment-13959891
] 

Simon Willnauer commented on LUCENE-5574:
-----------------------------------------

bq. So maybe we should just do that – never call IFD from an nrt-reader.close() chain? 

well I guess we have to since we decrement the reference. but I agree I wonder if the  _writer.deletePendingFiles();_
call is necessary?

bq. As for MDW, what if on close() it attempted to open a writer w/ OpenMode.OPEN, then close
it, before it verifies there are no leftover files? Then the unused files will get deleted,
and we'd still have a check in MDW that we didn't leave any writer/reader open, or leaking
files?

on the one hand I think this would be odd but on the other our current behavior requires you
to close everything in order which might not be absolutely necessary and might actually lead
to bug if we enforce calling inorder so I think that might actually be a good thing what you
suggest? Mike WDYT


> NRT Reader close can wipe index it doesn't own
> ----------------------------------------------
>
>                 Key: LUCENE-5574
>                 URL: https://issues.apache.org/jira/browse/LUCENE-5574
>             Project: Lucene - Core
>          Issue Type: Bug
>          Components: core/index
>    Affects Versions: 4.8, 5.0, 4.7.1
>            Reporter: Simon Willnauer
>            Priority: Critical
>             Fix For: 4.8, 5.0
>
>         Attachments: LUCENE-5574.patch, LUCENE-5574.patch, LUCENE-5574.patch
>
>
> Today NRT Readers try to clean up unused files via their IW reference when they are closed.
Yet, if the index writer is already closed another index could have been created on the same
directory which can create the same files as the IW before. For the NRT Reader those files
are not referenced and it will simply wipe them away. If you use this in a replication scenario
where directories are reused this can simply wipe your index away or in combination with the
FSync issue LUCENE-5570 create 0-byte files. I have a test that reproduces this issue



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

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


Mime
View raw message