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

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

Not yet.
It was a pure lack of documentation and as Tika got leaking descriptors in v0.9 
which really hurt me, i thought it might be a good idea to find a solution :-).

I am using a custom Tokenizer and wanted to use the HunspellDictionary and did 
not know if i have to close the streams or not because docs does not tell.
Looking at the code it does close the affix reader, but does not close the 
dicionary ones - so here is at least a gap ;-).

Using "lsof" you can see the affic file descriptor vanishing and the dictionary 
one still there (because i did not close the stream), so it does leak yet.

                
> 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: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to