Upgraded to 4.4.0, and that seems to have fixed it. The transition was mostly painless once I realized that the interface to the AbstractAnalysisFactory had changed between 4.2 and 4.3.
Thanks. - Hayden On Sat, Sep 21, 2013 at 3:28 AM, Alexandre Rafalovitch <arafa...@gmail.com>wrote: > 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 > > >