[
https://issues.apache.org/jira/browse/SOLR-15983?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17487312#comment-17487312
]
David Smiley commented on SOLR-15983:
-------------------------------------
Sorry, but UpdateRequestProcessor's are not designed to be thread-safe. This
was also called out by Hoss on the original issue you point to in SOLR-2804.
Based on the stack in the description, I see that LogReplayer is doing replays
in parallel with an Executor _but it's re-using the same chain_. That is the
root cause.
> ClassCastException in UpdateLog$LogReplayer.doReplay
> ----------------------------------------------------
>
> Key: SOLR-15983
> URL: https://issues.apache.org/jira/browse/SOLR-15983
> Project: Solr
> Issue Type: Bug
> Reporter: Christine Poerschke
> Assignee: Christine Poerschke
> Priority: Major
> Time Spent: 20m
> Remaining Estimate: 0h
>
> stacktrace:
> {code}
> ... ERROR ... o.a.s.u.UpdateLog java.lang.ClassCastException:
> java.util.ArrayList cannot be cast to java.lang.String
> at org.apache.solr.common.util.NamedList.getName(NamedList.java:175)
> at org.apache.solr.common.util.NamedList.toString(NamedList.java:397)
> at java.lang.String.valueOf(String.java:2994)
> at java.lang.StringBuilder.append(StringBuilder.java:131)
> at
> org.apache.solr.update.processor.LogUpdateProcessorFactory$LogUpdateProcessor.getLogStringAndClearRspToLog(LogUpdateProcessorFactory.java:212)
> at
> org.apache.solr.update.processor.LogUpdateProcessorFactory$LogUpdateProcessor.finish(LogUpdateProcessorFactory.java:187)
> at
> org.apache.solr.update.UpdateLog$LogReplayer.doReplay(UpdateLog.java:1980)
> at org.apache.solr.update.UpdateLog$LogReplayer.run(UpdateLog.java:1762)
> at
> org.apache.solr.update.UpdateLog.lambda$applyBufferedUpdates$5(UpdateLog.java:1703)
> at
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
> at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> at
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
> at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> at
> org.apache.solr.common.util.ExecutorUtil$MDCAwareThreadPoolExecutor.lambda$execute$0(ExecutorUtil.java:209)
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> at java.lang.Thread.run(Thread.java:748)
> {code}
--
This message was sent by Atlassian Jira
(v8.20.1#820001)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]