title: Solr slave replication server won't start
body: <p>Hey guys, I have 2 Solr servers set-up, the master is identical to the slave except for the 4 lines of XML that make it a master.</p>
  
  <p>The slave however errors when you try to start it, I have the following set-up to make it a slave:</p>
  
  <pre><code>&lt;requestHandler name="/replication" class="solr.ReplicationHandler" &gt;
  &lt;lst name="slave"&gt;
  &lt;str name="masterUrl"&gt;http://10.1.2.196:8080/solr/replication&lt;/str&gt;
  &lt;str name="pollInterval"&gt;00:00:20&lt;/str&gt;
  &lt;/lst&gt;
  &lt;/requestHandler&gt;
  </code></pre>
  
  <p>When I comment out the entire request handler for /replication it works fine but with it Solr throws and error and refuses to start.</p>
  
  <p>The error dump is here:</p>
  
  <p>SEVERE: Could not start SOLR. Check solr/home property
  java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
      at org.apache.commons.httpclient.MultiThreadedHttpConnectionManager.(MultiThreadedHttpConnectionManager.java:70)
      at org.apache.solr.handler.SnapPuller.createHttpClient(SnapPuller.java:110)
      at org.apache.solr.handler.SnapPuller.(SnapPuller.java:138)
      at org.apache.solr.handler.ReplicationHandler.inform(ReplicationHandler.java:775)
      at org.apache.solr.core.SolrResourceLoader.inform(SolrResourceLoader.java:486)
      at org.apache.solr.core.SolrCore.(SolrCore.java:589)
      at org.apache.solr.core.CoreContainer$Initializer.initialize(CoreContainer.java:137)
      at org.apache.solr.servlet.SolrDispatchFilter.init(SolrDispatchFilter.java:83)
      at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:295)
      at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:422)
      at org.apache.catalina.core.ApplicationFilterConfig.(ApplicationFilterConfig.java:115)
      at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3838)
      at org.apache.catalina.core.StandardContext.start(StandardContext.java:4488)
      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:637)
      at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:563)
      at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:498)
      at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1277)
      at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:321)
      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:593)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:616)
      at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
      at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
  Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory
      at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1484)
      at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1329)
      ... 35 more
  03/11/2010 2:11:12 AM org.apache.solr.core.QuerySenderListener newSearcher
  INFO: QuerySenderListener sending requests to Searcher@207ff5b6 main
  03/11/2010 2:11:12 AM org.apache.solr.common.SolrException log
  SEVERE: java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
      at org.apache.commons.httpclient.MultiThreadedHttpConnectionManager.(MultiThreadedHttpConnectionManager.java:70)
      at org.apache.solr.handler.SnapPuller.createHttpClient(SnapPuller.java:110)
      at org.apache.solr.handler.SnapPuller.(SnapPuller.java:138)
      at org.apache.solr.handler.ReplicationHandler.inform(ReplicationHandler.java:775)
      at org.apache.solr.core.SolrResourceLoader.inform(SolrResourceLoader.java:486)
      at org.apache.solr.core.SolrCore.(SolrCore.java:589)
      at org.apache.solr.core.CoreContainer$Initializer.initialize(CoreContainer.java:137)
      at org.apache.solr.servlet.SolrDispatchFilter.init(SolrDispatchFilter.java:83)
      at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:295)
      at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:422)
      at org.apache.catalina.core.ApplicationFilterConfig.(ApplicationFilterConfig.java:115)
      at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3838)
      at org.apache.catalina.core.StandardContext.start(StandardContext.java:4488)
      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:637)
      at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:563)
      at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:498)
      at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1277)
      at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:321)
      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:593)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:616)
      at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
      at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
  Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory
      at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1484)
      at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1329)
      ... 35 more</p>
  
  <p>It is also worth noting that both servers are IDENTICAL other than those lines in the config.</p>
  
  <p>Has anyone encountered this before?</p>
  
  <p>The servers themselves use a custom dataDir</p>
  
  <pre><code>&lt;dataDir&gt;/var/lib/solr/data&lt;/dataDir&gt;   ... 35 more
  </code></pre>