[
https://issues.apache.org/jira/browse/LUCENE-743?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12536033
]
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: https://issues.apache.org/jira/browse/LUCENE-743
> Project: Lucene - Java
> Issue Type: Improvement
> Components: Index
> Reporter: Otis Gospodnetic
> Assignee: Michael Busch
> Priority: Minor
> Fix For: 2.3
>
> Attachments: IndexReaderUtils.java, lucene-743-take2.patch,
> lucene-743.patch, lucene-743.patch, lucene-743.patch, MyMultiReader.java,
> MySegmentReader.java, 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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]