[
https://issues.apache.org/jira/browse/SOLR-3424?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Uwe Schindler updated SOLR-3424:
--------------------------------
Attachment: SOLR-3424_PhoneticFilterFactory_threadsafety_bug.patch
Attached is a patch that fixes the initialization bug and improves the
reflection code.
*One thing that came into my mind when I looked at the code of PhoneticFilter:*
I did not find out if Encoders are threadsafe or not. If they aren't or we are
not sure (the documentation states nothing), we should create the Encoder class
instance in the TokenStream create() method. TokenStreams itsself are only used
per thread (iterator pattern), and the Analyzer reuse ensures that we have a
separate instance for each thread.
> PhoneticFilterFactory threadsafety bug
> --------------------------------------
>
> Key: SOLR-3424
> URL: https://issues.apache.org/jira/browse/SOLR-3424
> Project: Solr
> Issue Type: Bug
> Components: Schema and Analysis
> Affects Versions: 3.6, 4.0
> Reporter: David Smiley
> Assignee: David Smiley
> Priority: Minor
> Fix For: 4.0
>
> Attachments: SOLR-3424_PhoneticFilterFactory_threadsafety_bug.patch,
> SOLR-3424_PhoneticFilterFactory_threadsafety_bug.patch,
> SOLR-3424_PhoneticFilterFactory_threadsafety_bug.patch
>
>
> PhoneticFilterFactory has a static HashMap registry mapping an encoder name
> to an implementation. There is a ReentrantLock used when the map is modified
> (when the encoder config specifies a class name). However, this map, which
> can be accessed by multiple indexing threads, isn't guarded on any of the
> reads, which isn't just the common path but also the error messages which
> dump the registry into the error message.
> I realize the likelihood of a problem is extremely slim, but a bug's a bug.
--
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]