[
https://issues.apache.org/jira/browse/LUCENE-1431?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12643804#action_12643804
]
Michael McCandless commented on LUCENE-1431:
--------------------------------------------
OK, so you were continuing to use a TermDocs after its reader had been closed.
Unfortunately, Lucene doesn't and can't really guarantee you'll always get a
nice AlreadyClosedException in all possible places where you use a reader after
closing it, because inserting that check could be a performance hit.
So what happens (NPE or IOE etc.) is intentionally not defined/guaranteed,
though we will in general make a "best effort" to throw an
AlreadyClosedException when possible.
In this particular case I don't see an obvious place to insert an ensureOpen()
call without risking a performance hit.
incRef/decRef should solve this nicely.
> NullPointerException in CloseableThreadLocal#get() if CTL is closed
> -------------------------------------------------------------------
>
> Key: LUCENE-1431
> URL: https://issues.apache.org/jira/browse/LUCENE-1431
> Project: Lucene - Java
> Issue Type: Bug
> Components: Other
> Affects Versions: 2.4
> Environment: Linux Fedora 9, amd64, Sun JDK 1.6.0_03 amd64
> Reporter: Andreas Kohn
> Attachments: LUCENE-1431.diff
>
>
> Pretty simple NPE, happening because some thread closed the
> CloseableThreadLocal, but another place still wanted to look at it:
> {noformat}
> java.lang.NullPointerException
> at org.apache.lucene.util.CloseableThreadLocal.get(Unknown Source)
> at org.apache.lucene.index.TermInfosReader.getThreadResources(Unknown
> Source)
> at org.apache.lucene.index.TermInfosReader.get(Unknown Source)
> at org.apache.lucene.index.TermInfosReader.get(Unknown Source)
> at org.apache.lucene.index.SegmentTermDocs.seek(Unknown Source)
> at
> org.apache.lucene.index.MultiSegmentReader$MultiTermDocs.termDocs(Unknown
> Source)
> at org.apache.lucene.index.MultiSegmentReader$MultiTermDocs.next(Unknown
> Source)
> {noformat}
> I believe the attached patch should fix those.
--
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]