[
https://issues.apache.org/jira/browse/LUCENE-1707?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12724169#action_12724169
]
Shai Erera commented on LUCENE-1707:
------------------------------------
bq. Patch looks good; thanks Shai!
Note that decRef() sets closed=true if refCount = 0. This will protect against
the other bug (calling close() then decRef() or vice versa). So if you don't
want it there, we should remove it before committing.
bq. so I think we should make it un-volatile; I'll change it before committing.
If we change refCount to not volatile, is this patch still needed? I.e., what's
wrong w/ checking in ensureOpen if refCount <= 0, same as before?
bq. But too many calls to decRef is a real bug and I think we shouldn't
mask/delay it.
That would not be possible, since decRef() asserts refCount > 0 (and asserts
are enabled in tests) and calls ensureOpen(). So calling decRef() twice in a
raw would hit either an assert exception (tests) or ACE (assertions disabled).
I think?
> Don't use ensureOpen() excessively in IndexReader and IndexWriter
> -----------------------------------------------------------------
>
> Key: LUCENE-1707
> URL: https://issues.apache.org/jira/browse/LUCENE-1707
> Project: Lucene - Java
> Issue Type: Improvement
> Components: Index
> Reporter: Shai Erera
> Fix For: 2.9
>
> Attachments: LUCENE-1707.patch, LUCENE-1707.patch
>
>
> A spin off from here:
> http://www.nabble.com/Excessive-use-of-ensureOpen()-td24127806.html.
> We should stop calling this method when it's not necessary for any internal
> Lucene code. Currently, this code seems to hurt properly written apps,
> unnecessarily.
> Will post a patch soon
--
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]