[ https://issues.apache.org/jira/browse/LUCENE-1453?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12717766#action_12717766 ]
Michael McCandless commented on LUCENE-1453: -------------------------------------------- bq. If DirectoryReader.close() throws an Exception, should the directory still be closed for cleanup? This is implemented exactly that way using a try...finally block in DirectoryOwningIndexReader.doClose(). I think it should (be closed in a finally clause). bq. Should I factor out DirectoryOwningIndexReader (any better name?) into a separate java file to not overload the already very big IndexReader.java? That sounds good. > When reopen returns a new IndexReader, both IndexReaders may now control the > lifecycle of the underlying Directory which is managed by reference counting > --------------------------------------------------------------------------------------------------------------------------------------------------------- > > Key: LUCENE-1453 > URL: https://issues.apache.org/jira/browse/LUCENE-1453 > Project: Lucene - Java > Issue Type: Bug > Affects Versions: 2.4 > Reporter: Mark Miller > Assignee: Michael McCandless > Priority: Minor > Fix For: 2.4.1, 2.9 > > Attachments: Failing-testcase-LUCENE-1453.patch, > LUCENE-1453-with-FSDir-open.patch, LUCENE-1453.patch, LUCENE-1453.patch, > LUCENE-1453.patch, LUCENE-1453.patch > > > Rough summary. Basically, FSDirectory tracks references to FSDirectory and > when IndexReader.reopen shares a Directory with a created IndexReader and > closeDirectory is true, FSDirectory's ref management will see two decrements > for one increment. You can end up getting an AlreadyClosed exception on the > Directory when the IndexReader is open. > I have a test I'll put up. A solution seems fairly straightforward (at least > in what needs to be accomplished). -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. --------------------------------------------------------------------- To unsubscribe, e-mail: java-dev-unsubscr...@lucene.apache.org For additional commands, e-mail: java-dev-h...@lucene.apache.org