[ 
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]

Reply via email to