Chirdeep Tomar
Chirdeep Tomar

Reputation: 4461

Solr Data Import Handler Scheduler Error

I am having trouble getting solr dataimportscheduler to work. I have the latest jar file which packages all the class files needed. I am getting below error when trying to start up tomcat.

    Jun 21, 2012 11:36:06 AM org.apache.catalina.core.StandardContext listenerStart
    SEVERE: Error configuring application listener of class        org.apache.solr.handler.dataimport.scheduler.ApplicationListener
java.lang.ClassNotFoundException: org.apache.solr.handler.dataimport.scheduler.ApplicationListener
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1701)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1546)
    at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:525)
    at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:507)
    at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:124)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4715)
    at   org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5273)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:895)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:871)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:615)
    at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1095)
    at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1617)
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
    at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)

    Jun 21, 2012 11:36:06 AM org.apache.catalina.core.StandardContext listenerStart
    SEVERE: Skipped installing application listeners due to previous error(s)

I am assuming when they say "Don't forget to add the following listener declaration to Solr's web.xml:

<listener>
   <listener-class>org.apache.solr.handler.dataimport.scheduler.ApplicationListener</listener-class>
</listener>

This means add the lines below to Tomcat's web.xml

<listener>
   <listener-class>org.apache.solr.handler.dataimport.scheduler.ApplicationListener</listener-class>
</listener>

Any help will be much appreciated.

Thanks

UPDATE:

I updated solr's web.xml and now tomcat starts up without any errors but when the scheduled task runs, it blanks my index. I have more than one solr core...and I have put dataimport.properties in the root folder and one for each core.This is what my properties file in the root looks like.

#################################################
#                                               #
#       dataimport scheduler properties         #
#                                               #
#################################################


syncEnabled=1
syncCores=Internal.Locations #(Locations is a folder inside Internal)


server=localhost
port=8080

webapp=solr

params=/select?qt=/dataimport&command=delta-import&clean=false&commit=true

interval=10

Upvotes: 0

Views: 1214

Answers (1)

Marko Bonaci
Marko Bonaci

Reputation: 5706

The cores listed in properties file are there just so the Scheduler can assemble URL that invokes data import.

That's exactly what you need to place in your properties file, comma separated core names as they are listed in URL when you fire DIH manually, from your browser.
You, of course, know that cores are configured in solr/solr.xml.

BTW, you should see in your Tomcat console (or log file) this line:

<index update process> Multiple cores identified in dataimport.properties. Sync active for: list-of-your-cores

Upvotes: 1

Related Questions