lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Michael McCandless (JIRA)" <>
Subject [jira] Commented: (LUCENE-743) IndexReader.reopen()
Date Thu, 18 Oct 2007 20:04:51 GMT


Michael McCandless commented on LUCENE-743:

I think reference counting would solve this issue quite nicely.  How come we want to avoid
reference counting?  It seems like the right solution here.

The implementation seems simple.  When a reader is opened, it starts with RC 1.  When it is
closed, it decrefs the RC and marks itself closed (to make sure double-close does not re-decref
the RC).  When a MultiReader needs to use the reader, it calls incref.  And when that MultiReader
is done with it, it calls decref.  Whenever the RC hits 0 it's safe to free all resources.

Wouldn't that work?

> IndexReader.reopen()
> --------------------
>                 Key: LUCENE-743
>                 URL:
>             Project: Lucene - Java
>          Issue Type: Improvement
>          Components: Index
>            Reporter: Otis Gospodnetic
>            Assignee: Michael Busch
>            Priority: Minor
>             Fix For: 2.3
>         Attachments:, lucene-743-take2.patch, lucene-743.patch,
lucene-743.patch, lucene-743.patch,,, varient-no-isCloneSupported.BROKEN.patch
> This is Robert Engels' implementation of IndexReader.reopen() functionality, as a set
of 3 new classes (this was easier for him to implement, but should probably be folded into
the core, if this looks good).

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:
For additional commands, e-mail:

View raw message