[
https://issues.apache.org/jira/browse/SOLR-4373?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Hoss Man updated SOLR-4373:
---------------------------
Description:
Having lib directives in the solrconfig.xml files of multiple cores can cause
problems when using multi-threaded core initialization -- which is the default
starting with Solr 4.1.
The problem manifests itself as init errors in the logs related to not being
able to find classes located in plugin jars, even though earlier log messages
indicated that those jars had been added to the classpath.
One work around is to set {{coreLoadThreads="1"}} in your solr.xml file --
forcing single threaded core initialization. For example...
{code}
<?xml version="1.0" encoding="utf-8" ?>
<solr coreLoadThreads="1">
<cores adminPath="/admin/cores">
<core name="core1" instanceDir="core1" />
<core name="core2" instanceDir="core2" />
</cores>
</solr>
{code}
(Similar problems may occur if multiple cores are initialized concurrently
using the /admin/cores handler)
was:
Having lib directives in solrconfig.xml seem to wipe out/override the
definitions in previous cores.
The exception (for the earlier core) is:
at
org.apache.solr.util.plugin.AbstractPluginLoader.load(AbstractPluginLoader.java:177)
at org.apache.solr.schema.IndexSchema.readSchema(IndexSchema.java:369)
at org.apache.solr.schema.IndexSchema.<init>(IndexSchema.java:113)
at
org.apache.solr.core.CoreContainer.createFromLocal(CoreContainer.java:1000)
at org.apache.solr.core.CoreContainer.create(CoreContainer.java:1033)
at org.apache.solr.core.CoreContainer$3.call(CoreContainer.java:629)
at org.apache.solr.core.CoreContainer$3.call(CoreContainer.java:624)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
Caused by: org.apache.solr.common.SolrException: Plugin init failure for
[schema.xml] analyzer/filter: Error loading class 'solr.ICUFoldingFilterFactory'
at
org.apache.solr.util.plugin.AbstractPluginLoader.load(AbstractPluginLoader.java:177)
at
org.apache.solr.schema.FieldTypePluginLoader.readAnalyzer(FieldTypePluginLoader.java:377)
at
org.apache.solr.schema.FieldTypePluginLoader.create(FieldTypePluginLoader.java:95)
at
org.apache.solr.schema.FieldTypePluginLoader.create(FieldTypePluginLoader.java:43)
at
org.apache.solr.util.plugin.AbstractPluginLoader.load(AbstractPluginLoader.java:151)
The full replication case is attached.
If the SECOND core is turned off in solr.xml, the FIRST core loads just fine.
bq. My bad. Does it mean we know where the problem is?
it means a few things...
1) it confirms the problem you were seeing realted to multi-thread core
reloading
2) it means we're seeing consistent results, which narrows down the possible
causes (before it looked like there may be two causes of a single symptom: one
related to multi-threaded loading that i could reproduce, and one unknown that
you could reproduce, now it seems more likeley that they are the same
3) it means we have a config based work arround for users who encounter this
problem w/o requiring a code patch.
Can you try out the patch Uwe posted to LUCENE-4796? his comments there helped
me realize why my earlier attempts at fixing this bug didn't work for me, and
with his most recent patch i can't reproduce this problem. would be good to
have your feedback.
> In multicore, lib directives in solrconfig.xml cause conflict and clobber
> directives from earlier cores
> -------------------------------------------------------------------------------------------------------
>
> Key: SOLR-4373
> URL: https://issues.apache.org/jira/browse/SOLR-4373
> Project: Solr
> Issue Type: Bug
> Components: multicore
> Affects Versions: 4.1
> Reporter: Alexandre Rafalovitch
> Priority: Blocker
> Labels: lib, multicore
> Fix For: 4.2, 5.0, 4.1.1
>
> Attachments: multicore-bug.zip
>
>
> Having lib directives in the solrconfig.xml files of multiple cores can cause
> problems when using multi-threaded core initialization -- which is the
> default starting with Solr 4.1.
> The problem manifests itself as init errors in the logs related to not being
> able to find classes located in plugin jars, even though earlier log messages
> indicated that those jars had been added to the classpath.
> One work around is to set {{coreLoadThreads="1"}} in your solr.xml file --
> forcing single threaded core initialization. For example...
> {code}
> <?xml version="1.0" encoding="utf-8" ?>
> <solr coreLoadThreads="1">
> <cores adminPath="/admin/cores">
> <core name="core1" instanceDir="core1" />
> <core name="core2" instanceDir="core2" />
> </cores>
> </solr>
> {code}
> (Similar problems may occur if multiple cores are initialized concurrently
> using the /admin/cores handler)
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
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]