[
https://issues.apache.org/jira/browse/LUCENE-2108?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12785603#action_12785603
]
Eirik Bjorsnos commented on LUCENE-2108:
----------------------------------------
Mike,
Please account for my demonstrated stupidity when considering this suggestion
for thread safety policy / goals:
1) Concurrent invocations of suggestSimilar() should not interfere with each
other.
2) An invocation of any of the write methods (setSpellIndex, clearIndex,
indexDictionary) should not interfere with aleady invoked suggestSimilar
3) All calls to write methods should be serialized (We could probably
synchronize these methods?)
If we synchronize any writes to the searcher reference, couldn't suggestSimilar
just start its work by putting searcher in a local variable and use that
instead of the field?
I guess concurrency is hard to get right..
> SpellChecker file descriptor leak - no way to close the IndexSearcher used by
> SpellChecker internally
> -----------------------------------------------------------------------------------------------------
>
> Key: LUCENE-2108
> URL: https://issues.apache.org/jira/browse/LUCENE-2108
> Project: Lucene - Java
> Issue Type: Bug
> Components: contrib/spellchecker
> Affects Versions: 3.0
> Reporter: Eirik Bjorsnos
> Assignee: Michael McCandless
> Fix For: 3.0.1, 3.1
>
> Attachments: LUCENE-2108-SpellChecker-close.patch, LUCENE-2108.patch
>
>
> I can't find any way to close the IndexSearcher (and IndexReader) that
> is being used by SpellChecker internally.
> I've worked around this issue by keeping a single SpellChecker open
> for each index, but I'd really like to be able to close it and
> reopen it on demand without leaking file descriptors.
> Could we add a close() method to SpellChecker that will close the
> IndexSearcher and null the reference to it? And perhaps add some code
> that reopens the searcher if the reference to it is null? Or would
> that break thread safety of SpellChecker?
> The attached patch adds a close method but leaves it to the user to
> call setSpellIndex to reopen the searcher if desired.
--
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]