[ https://issues.apache.org/jira/browse/LUCENE-1453?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12717107#action_12717107 ]
Earwin Burrfoot commented on LUCENE-1453: ----------------------------------------- bq. There are two possibilities to fix this: Vote for "leave them open". Yes, it breaches the contract, but the breach is controlled (and thus harmless) and we get rid of some weird code (=possible point of failure) without introducing new. There is a way to notice change in DirectoryReader behaviour, but it is too unrealistic: {code} IndexReader r = IndexReader.open("/path/to/index"); ..... Directory d = r.directory(); // you have to get directory reference as you're not the one who created it ..... r.close(); ..... d.doSomething(); // and EXPECT this call to fail with exception {code} > 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.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