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