[
https://issues.apache.org/jira/browse/SOLR-3484?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Hoss Man resolved SOLR-3484.
----------------------------
Resolution: Not A Problem
See comments in SOLR-2694, particularly "Mikhail Khludnev added a comment -
24/May/12 07:15" (the author of hte patch in question) in direct response to
comment from creator of this issue.
All of the UpdateProcessor Factories are thread safe -- but *NONE* of the
UpdateRequestProcessor classes returned by those factories are thread safe.
UpdateRequestProcessors are designed to be used in the context of a single Solr
request (hence the reason you need a SolrQueryRequest/SolrQueryResponse to get
an instance). If code interacting with an UpdateRequestProcessor is
multi-threaded, then _that_ client code needs to synchronize it's use of the
UpdateRequestProcessor.
(This was the fundamental problem in SOLR-2804: multi-threaded DIH code was not
using the UpdateRequestProcessor in a thread-safe manner).
Adding a "ConcurrentLogUpdateRequestProcessor" will not magically make it safe
for multi-threaded code to call methods on an UpdateRequestProcessor chain --
because any of the other UpdateRequestProcessors in that chain are also likley
to break from concurrent usage by multiple threads.
If you have custom code that uses UpdateRequestProcessors in a way that you
believe is valid, and you still see a bug, then you need to provide a test case
demonstrating your usage and the bug it produces -- based on comments posted
here and in SOLR-2694 it seems like the usage being described is not valid,
because it assumes any and all UpdateRequestProcessors are stateless and
multi-thread-safe, which is not true. trivial example:
RunUpdateProcessorFactory maintains un-synchronized state about uncommited
changes for dealing with the transaction log.
> LogUpdateProcessor throws ConcurrentModificationException under
> multi-threading calls
> --------------------------------------------------------------------------------------
>
> Key: SOLR-3484
> URL: https://issues.apache.org/jira/browse/SOLR-3484
> Project: Solr
> Issue Type: Bug
> Components: update
> Affects Versions: 4.0
> Environment: linux
> Reporter: Ethan Tao
>
> Using the LogUpdateProcessor in a singleton chain for concurrent processing
> throws exception. The issue has been reported in SOLR-2694 (closed), and an
> unoffical patch can be found in related bug-id SOLR-2804 patch dated 1/1/12.
> If the patch won't become official for LogUpdateProcessor, suggested to have
> new class "ConcurrentLogUpdateProcessorFactory" to address the thread safe
> issue.
--
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]