lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Torsten Krah (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (LUCENE-4165) HunspellDictionary - AffixFile Reader closed, Dictionary Readers left unclosed
Date Tue, 26 Jun 2012 14:29:44 GMT

    [ https://issues.apache.org/jira/browse/LUCENE-4165?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13401426#comment-13401426
] 

Torsten Krah commented on LUCENE-4165:
--------------------------------------

Last 2 cents about the misunderstanding:

Doc says: "Closes the stream and releases any system resources associated with it.".

May be read like this:

1. "it" may actually mean the stream here -> "Closes the stream and releases any system
resources associated with the stream."
2. "it" just meaning the object (reader) itself -> "Closes the stream and releases any
system resources associated with the reader."

Both is possible (is it?) and to me 2. would be more common, because @ variant 1. you do not
know, if "close" on the stream does really release any system resources (this is up to the
input streams close method, e.g. take the CloseShieldInputStream.) - so if 1. should be the
only one meaning of the docs, they are promising things, which they can't enforce ;-).
But i guess i have to look at english grammer again (long long ago ...) - maybe this is really
clear here how it must be understand - if 1. is the only possible one from a language perspective
one, than it should imho read more like this:

"Does call close on the Stream." - not more, because you do not know if any system resources
are freed; this should be documented at the close() method of the actual InputStream documentation
used.

Back to topic: I'll provide those patches asap.

                
> HunspellDictionary - AffixFile Reader closed, Dictionary Readers left unclosed
> ------------------------------------------------------------------------------
>
>                 Key: LUCENE-4165
>                 URL: https://issues.apache.org/jira/browse/LUCENE-4165
>             Project: Lucene - Java
>          Issue Type: Bug
>          Components: modules/analysis
>    Affects Versions: 3.6
>         Environment: Linux, Java 1.6
>            Reporter: Torsten Krah
>            Priority: Minor
>         Attachments: lucene_36.patch, lucene_trunk.patch
>
>
> The HunspellDictionary takes an InputStream for affix file and a List of Streams for
dictionaries.
> Javadoc is not clear about i have to close those stream myself or the Dictionary constructor
does this already.
> Looking at the code, at least reader.close() is called when the affix file is read via
readAffixFile() method (although closing streams is not done in a finally block - so the constructor
may fail to do so).
> The readDictionaryFile() method does miss the call to close the reader in contrast to
readAffixFile().
> So the question here is - have i have to close the streams myself after instantiating
the dictionary?
> Or is the close call only missing for the dictionary streams?
> Either way, please add the close calls in a safe manner or clarify javadoc so i have
to do this myself.

--
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: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org


Mime
View raw message