Search code examples
solrtomcat6

Solr DataImport "unable to execute query"


I am trying to import a database via /dataimport?command=full-import. Here is (what I understand to be) the pertinent info:

Using Solr Tomcat6 on Xubuntu 12.04 I initially installed solr via apt-get install solr-tomcat I run solr via service tomcat6 start

Solr Specification Version: 3.6.1.2012.09.06.10.36.26 Solr Implementation Version: 3.6.1 debian - buildd - 2012-09-06 10:36:26 Lucene Specification Version: 3.6.1 Lucene Implementation Version: 3.6.1 debian - buildd - 2012-09-06 10:34:37 Current Time: Thu Mar 28 14:13:45 PDT 2013 Server Start Time:Thu Mar 28 13:41:30 PDT 2013

My data-config.xml:

    <dataConfig>
     <dataSource type="JdbcDataSource"
        driver="org.postgresql.Driver"
        url="jdbc:postgresql://<ip>:<port>;databaseName=<myDB>"
        user="<user>"
        password="<password>"
        readOnly="True"/>

     <document>
      <entity name="library" query="<query that works everywhere but via solr for 'id' and 'value'>">
       <field column="id" name="id" />
       <field column="value" name="title" />
      </entity>
     </document>
    </dataConfig>

Log:

    Mar 28, 2013 1:41:36 PM org.apache.solr.common.SolrException log
    SEVERE: Full Import failed:java.lang.RuntimeException: java.lang.RuntimeException: org.apache.solr.handler.dataimport.DataImportHandlerException: Unable to execute query: SELECT id, value FROM pg_evergreen.metabib.title_field_entry Processing Document # 1
         at org.apache.solr.handler.dataimport.DocBuilder.execute(DocBuilder.java:264)
         at org.apache.solr.handler.dataimport.DataImporter.doFullImport(DataImporter.java:375)
         at org.apache.solr.handler.dataimport.DataImporter.runCmd(DataImporter.java:445)
         at org.apache.solr.handler.dataimport.DataImporter$1.run(DataImporter.java:426)
    Caused by: java.lang.RuntimeException: org.apache.solr.handler.dataimport.DataImportHandlerException: Unable to execute query: SELECT id, value FROM pg_evergreen.metabib.title_field_entry Processing Document # 1
         at org.apache.solr.handler.dataimport.DocBuilder.buildDocument(DocBuilder.java:621)
         at org.apache.solr.handler.dataimport.DocBuilder.doFullDump(DocBuilder.java:327)
         at org.apache.solr.handler.dataimport.DocBuilder.execute(DocBuilder.java:225)
         ... 3 more
    Caused by: org.apache.solr.handler.dataimport.DataImportHandlerException: Unable to execute query: SELECT id, value FROM pg_evergreen.metabib.title_field_entry Processing Document # 1
         at org.apache.solr.handler.dataimport.DataImportHandlerException.wrapAndThrow(DataImportHandlerException.java:72)
         at org.apache.solr.handler.dataimport.JdbcDataSource$ResultSetIterator.<init>(JdbcDataSource.java:253)
         at org.apache.solr.handler.dataimport.JdbcDataSource.getData(JdbcDataSource.java:210)
         at org.apache.solr.handler.dataimport.JdbcDataSource.getData(JdbcDataSource.java:39)
         at org.apache.solr.handler.dataimport.SqlEntityProcessor.initQuery(SqlEntityProcessor.java:59)
         at org.apache.solr.handler.dataimport.SqlEntityProcessor.nextRow(SqlEntityProcessor.java:73)
         at org.apache.solr.handler.dataimport.EntityProcessorWrapper.pullRow(EntityProcessorWrapper.java:330)
         at org.apache.solr.handler.dataimport.EntityProcessorWrapper.nextRow(EntityProcessorWrapper.java:296)
         at org.apache.solr.handler.dataimport.DocBuilder.buildDocument(DocBuilder.java:683)
         at org.apache.solr.handler.dataimport.DocBuilder.buildDocument(DocBuilder.java:619)
         ... 5 more
    Caused by: java.lang.NullPointerException
         at org.apache.solr.handler.dataimport.JdbcDataSource$ResultSetIterator.<init>(JdbcDataSource.java:241)
         ... 13 more

    Mar 28, 2013 1:41:36 PM org.apache.solr.update.DirectUpdateHandler2 rollback
    INFO: start rollback
    Mar 28, 2013 1:41:36 PM org.apache.solr.update.DirectUpdateHandler2 rollback
    INFO: end_rollback

I have tried:

  • Variations of batchSize (from -1 to 1000), readTimeout (from 60000 to 120000) and ReadOnly in data-config.xml
  • Created a number of files and folders that would previously give 'warnings' (as suggested here and beyond)
  • Insured the query works outside of this instance and all my database info is accurate
  • Googled and tried everything (that seemed mildly helpful) from the first 3 pages when searching "'Unable to execute query' dataimport"
  • Reinstalled and recalibrated solr a few times, tried running with jetty and jboss along with various versions of solr

Any ideas about why dataimport is failing to execute my query?


Solution

  • As suggested by arun, I changed my URL syntax to url="jdbc:postgresql://<IP>:<PORT>/<DATABASE> and it worked!