[
https://issues.apache.org/jira/browse/LUCENE-3089?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13149570#comment-13149570
]
Robert Muir commented on LUCENE-3089:
-------------------------------------
{quote}
Yes, the java.io.Closeable interface requires the underlying implementation to
ignore additional close calls.
{quote}
Just because java.io.Closeable exists doesn't mean we must use it everywhere:
if these
semantics are inappropriate we can simply have .close() ourselves.
> CachingTokenFilter can cause close() to be called twice.
> --------------------------------------------------------
>
> Key: LUCENE-3089
> URL: https://issues.apache.org/jira/browse/LUCENE-3089
> Project: Lucene - Java
> Issue Type: Bug
> Reporter: Robert Muir
>
> In LUCENE-3064, we added some state and checks to MockTokenizer to validate
> that consumers
> are properly using the tokenstream workflow (described here:
> http://lucene.apache.org/java/3_0_3/api/core/org/apache/lucene/analysis/TokenStream.html)
> One problem I noticed in
> TestTermVectorsWriter.testEndOffsetPositionWithCachingTokenFilter is that
> providing a CachingTOkenFilter directly will result
> in close() being called twice on the underlying tokenstream... this seems
> wrong.
> Some ideas to fix this could be:
> # CachingTokenFilter overrides close() and we document that you must close
> the underlying stream yourself. I think this is what the queryparser does
> anyway.
> # CachingTokenFilter does something tricky to ensure it only closes the
> underlying stream once.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]