[ 
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: java-dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: java-dev-h...@lucene.apache.org

Reply via email to