Did you try latest solr? There was a library loading bug with multiple
cores. Not a perfect match to your description but close enough.

Regards,
    Alex
On 21 Sep 2013 02:28, "Hayden Muhl" <haydenm...@gmail.com> wrote:

> I have two cores "favorite" and "user" running in the same Tomcat instance.
> In each of these cores I have identical field types "text_en", "text_de",
> "text_fr", and "text_ja". These fields use some custom token filters I've
> written. Everything was going smoothly when I only had the "favorite" core.
> When I added the "user" core, I started getting java.lang.LinkageErrors
> being thrown when I start up Tomcat. The error always happens with one of
> the classes I've written, but it's unpredictable which class the
> classloader chokes on.
>
> Here's the really strange part. I comment out the "text_*" fields in the
> user core and the errors go away (makes sense). I add "text_en" back in, no
> error (OK). I add "text_fr" back in, no error (OK). I add "text_de" back
> in, and I get the error (ah ha!). I comment "text_de" out again, and I
> still get the same error (wtf?).
>
> I also put a break point at
>
> org.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader.java:424),
> and when I load everything one at a time, I don't get any errors.
>
> I'm running Tomcat 5.5.28, Java version 1.6.0_39 and Solr 4.2.0. I'm
> running this all within Eclipse 1.5.1 on a mac. I have not tested this on a
> production-like system yet.
>
> Here's an example stack trace. In this case it was one of my Japanese
> filters, but other times it will choke on my synonym filter, or my compound
> word filter. The specific class it fails on doesn't seem to be relevant.
>
> SEVERE: null:java.lang.LinkageError: loader (instance of
>  org/apache/catalina/loader/WebappClassLoader): attempted  duplicate class
> definition for name: "com/shopstyle/solrx/KatakanaVuFilterFactory"
> at java.lang.ClassLoader.defineClass1(Native Method)
> at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
> at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
> at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
> at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
> at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
> at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
> at java.security.AccessController.doPrivileged(Native Method)
> at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
> at
>
> org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:904)
> at
>
> org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1353)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:295)
> at java.net.FactoryURLClassLoader.loadClass(URLClassLoader.java:627)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
> at java.lang.Class.forName0(Native Method)
> at java.lang.Class.forName(Class.java:249)
> at
>
> org.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader.java:424)
> at
>
> org.apache.solr.core.SolrResourceLoader.newInstance(SolrResourceLoader.java:462)
> at
>
> org.apache.solr.util.plugin.AbstractPluginLoader.create(AbstractPluginLoader.java:89)
> at
>
> org.apache.solr.util.plugin.AbstractPluginLoader.load(AbstractPluginLoader.java:151)
> at
>
> org.apache.solr.schema.FieldTypePluginLoader.readAnalyzer(FieldTypePluginLoader.java:392)
> at
>
> org.apache.solr.schema.FieldTypePluginLoader.create(FieldTypePluginLoader.java:86)
> at
>
> org.apache.solr.schema.FieldTypePluginLoader.create(FieldTypePluginLoader.java:43)
> at
>
> org.apache.solr.util.plugin.AbstractPluginLoader.load(AbstractPluginLoader.java:151)
> at org.apache.solr.schema.IndexSchema.readSchema(IndexSchema.java:373)
> at org.apache.solr.schema.IndexSchema.<init>(IndexSchema.java:121)
> at
> org.apache.solr.core.CoreContainer.createFromLocal(CoreContainer.java:1018)
> at org.apache.solr.core.CoreContainer.create(CoreContainer.java:1051)
> at org.apache.solr.core.CoreContainer$3.call(CoreContainer.java:634)
> at org.apache.solr.core.CoreContainer$3.call(CoreContainer.java:629)
> at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
> at java.util.concurrent.FutureTask.run(FutureTask.java:138)
> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439)
> at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
> at java.util.concurrent.FutureTask.run(FutureTask.java:138)
> at
>
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
> at
>
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
> at java.lang.Thread.run(Thread.java:680)
>
> - Hayden
>

Reply via email to