Ok, let me revise my previous report:

It turns out if I take the single-core or multicore example stuff from
running "ant example" on r815830 and plop them into Tomcat, this
doesn't hang. However, if I plop Solr as I configure it for production
use into Tomcat, it does hang.

The main ways I can think of how my Solr conf differs from the example
configs are the use of ExtractingRequestHandler and of the Solr qsol
patch (https://issues.apache.org/jira/browse/SOLR-896). As an
experiment, I tried removing apache-solr-cell-1.4-dev.jar and
apache-solr-qsol-1.4-dev.jar from my Solr lib directory, and removing
reference to qsol from my solrconfig.xml, but this does not prevent
Solr from hanging in Tomcat; in this case Tomcat hung in the same spot
as I reported before.

I did find one way to get my production-like Solr configuration not to
hang on startup. That was to 1) remove apache-solr-qsol-1.4-dev.jar
from my lib/ directory, but to 2) still leave this config option in my
solrconfig.xml:

  <queryParser name="qsol" class="org.apache.solr.search.QsolQParserPlugin"/>

Something about the class loading exception seems to get around the bean issue.

Here's an excerpt from my Tomcat log:

...
Sep 17, 2009 12:01:22 PM org.apache.solr.core.SolrCore <init>
INFO: [filingcore] Opening new SolrCore at
c:\tomcat-solr\solrme\filingcore\,
dataDir=c:\tomcat-solr\solrme\filingcore\data\
Sep 17, 2009 12:01:22 PM org.apache.solr.core.JmxMonitoredMap <init>
INFO: JMX monitoring is enabled. Adding Solr mbeans to JMX Server:
com.sun.jmx.mbeanserver.jmxmbeanser...@ecb67f
Sep 17, 2009 12:01:22 PM org.apache.solr.core.SolrCore initListeners
INFO: [filingcore] Added SolrEventListener:
org.apache.solr.core.QuerySenderListener{queries=[{q=*:*,sort=date
asc,companynameforsorting asc,formtype asc,start=0,rows=10}]}
Sep 17, 2009 12:01:22 PM org.apache.solr.core.SolrCore initListeners
INFO: [filingcore] Added SolrEventListener:
org.apache.solr.core.QuerySenderListener{queries=[{q=*:*,sort=date
asc,companynameforsorting asc,formtype asc,start=0,rows=10}]}
Sep 17, 2009 12:01:22 PM org.apache.solr.request.XSLTResponseWriter init
INFO: xsltCacheLifetimeSeconds=5
Sep 17, 2009 12:01:22 PM org.apache.solr.core.SolrCore finalize
SEVERE: REFCOUNT ERROR: unreferenced
org.apache.solr.core.solrc...@4eeaaf (filingcore) has a reference
count of 1
Sep 17, 2009 12:01:22 PM org.apache.solr.common.SolrException log
SEVERE: org.apache.solr.common.SolrException: Error loading class
'org.apache.solr.search.QsolQParserPlugin'
        at 
org.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader.java:311)
        at org.apache.solr.core.SolrCore.createInstance(SolrCore.java:411)
        at org.apache.solr.core.SolrCore.initPlugins(SolrCore.java:1479)
        at org.apache.solr.core.SolrCore.initQParsers(SolrCore.java:1433)
        at org.apache.solr.core.SolrCore.<init>(SolrCore.java:533)
        at org.apache.solr.core.CoreContainer.create(CoreContainer.java:425)
        at org.apache.solr.core.CoreContainer.load(CoreContainer.java:278)
        at 
org.apache.solr.core.CoreContainer$Initializer.initialize(CoreContainer.java:117)
        at 
org.apache.solr.servlet.SolrDispatchFilter.init(SolrDispatchFilter.java:83)
        at 
org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:275)
        at 
org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:397)
        at 
org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:108)
        at 
org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3800)
        at 
org.apache.catalina.core.StandardContext.start(StandardContext.java:4450)
        at 
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
        at 
org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:526)
        at 
org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:630)
        at 
org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:556)
        at 
org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:491)
        at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1206)
        at 
org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:314)
        at 
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
        at org.apache.catalina.core.StandardHost.start(StandardHost.java:722)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
        at 
org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
        at 
org.apache.catalina.core.StandardService.start(StandardService.java:516)
        at 
org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:583)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
Caused by: java.lang.ClassNotFoundException:
org.apache.solr.search.QsolQParserPlugin
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at java.net.FactoryURLClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClassInternal(Unknown Source)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Unknown Source)
        at 
org.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader.java:295)
        ... 35 more

Sep 17, 2009 12:01:22 PM org.apache.solr.servlet.SolrDispatchFilter init
INFO: user.dir=C:\tomcat
Sep 17, 2009 12:01:22 PM org.apache.solr.servlet.SolrDispatchFilter init
INFO: SolrDispatchFilter.init() done
Sep 17, 2009 12:01:22 PM org.apache.solr.servlet.SolrServlet init
INFO: SolrServlet.init()
Sep 17, 2009 12:01:22 PM org.apache.solr.core.SolrResourceLoader locateSolrHome
INFO: Using JNDI solr.home: c:\tomcat-solr\solrme
Sep 17, 2009 12:01:22 PM org.apache.solr.servlet.SolrServlet init
INFO: SolrServlet.init() done
Sep 17, 2009 12:01:22 PM org.apache.solr.core.SolrResourceLoader locateSolrHome
INFO: Using JNDI solr.home: c:\tomcat-solr\solrme
Sep 17, 2009 12:01:22 PM org.apache.solr.servlet.SolrUpdateServlet init
INFO: SolrUpdateServlet.init() done
Sep 17, 2009 12:01:22 PM org.apache.coyote.http11.Http11Protocol start
INFO: Starting Coyote HTTP/1.1 on http-9000
Sep 17, 2009 12:01:22 PM org.apache.jk.common.ChannelSocket init
INFO: JK: ajp13 listening on /0.0.0.0:8009
Sep 17, 2009 12:01:22 PM org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=0/32  config=null
Sep 17, 2009 12:01:22 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 2709 ms

2009/9/17 Chris Harris <rygu...@gmail.com>:
> I found what looks like the same issue when I tried to install r815830
> under Tomcat. (It works ok with the normal Jetty example/start.jar.) I
> haven't checked the stack trace, but Tomcat would hang right after the
> message
>
> INFO: Adding  debug
> component:org.apache.solr.handler.component.debugcompon...@1904e0d
>
> showed up in the log.
>
> I have a little more evidence about Yonik's theory that SOLR-1427 is
> part of the cause. In particular, when I reverse-merged r815587 (the
> commit for SOLR-1427) into (out of?) my r815830-based working copy,
> then Tomcat was able to load Solr normally.

Reply via email to