On 1/26/2013 11:50 AM, Alexandre Rafalovitch wrote:
Hello,

I just upgraded to 4.1 and my 4.0 multicore setup immediately stopped
booting. I fixed apache-* prefix changes, but have another one that is more
weird.

Basically, I have two cores with lib sections in their solrconfig.xml
(running from example dir with custom solr.solr.home).
First core:
   <lib dir="${user.dir}/../contrib/analysis-extras/lucene-libs/" />
   <lib dir="${user.dir}/../contrib/analysis-extras/lib/" />
Second core:
   <lib dir="${user.dir}/../dist/" regex="solr-cell-\d.*\.jar" />
   <lib dir="${user.dir}/../contrib/extraction/lib" regex=".*\.jar" />

When I run both cores, the first core fails to load as it cannot find
ICUFoldingFilterFactory
org.apache.solr.common.SolrException: Plugin init failure for [schema.xml]
fieldType "email": 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.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)
....

If I remove lib directives from the second core, the first core boots fine
(second one of course does not). Even stranger, I can add first core's
libraries to the second core's and the first core starts working again.

Looks like a serious regression. But I can't imagine what it could be
connected to.

Should I open JIRA or can somebody sanity check this for me first?

That does sound like a bug. I am not sure, though. Here's a possible workaround:

Put all your extra jars in a lib directory under your solr.home (where the solr.xml that describes your cores goes). Then add sharedLib="lib" option to the solr tag of your solr.xml. If there is already a lib directory here for radically different purposes (jetty, for example), call the new directory something else like solr-lib and reference appropriately in the sharedLib option.

I am using this method to load the ICU jars into my 4.1 SolrCloud.

Thanks,
Shawn

Reply via email to