I have Apache Solr,hosted on my apache Tomcat Server with SQLServer Backend.


Details:

*Solr Version:*
Solr Specification Version: 3.4.0.2012.01.23.14.08.01
Solr Implementation Version: 3.4
Lucene Specification Version: 3.4
Lucene Implementation Version: 3.4

*Tomcat version:*
Apache Tomcat/6.0.18

*OS details:*
SUSE Linux Enterprise Server 11 (x86_64)
VERSION = 11
PATCHLEVEL = 1

While running indexing on this server,It failed.

Log excerpt:

May 19, 2014 9:23:28 AM org.apache.solr.common.SolrException log
SEVERE: Full Import failed:java.lang.RuntimeException: Error in
multi-threaded import
        at org.apache.solr.handler.dataimport.DocBuilder.doFullDump(Unknown
Source)
        at org.apache.solr.handler.dataimport.DocBuilder.execute(Unknown
Source)
        at
org.apache.solr.handler.dataimport.DataImporter.doFullImport(Unknown Source)
        at org.apache.solr.handler.dataimport.DataImporter.runCmd(Unknown
Source)
        at org.apache.solr.handler.dataimport.DataImporter$1.run(Unknown
Source)
Caused by: org.apache.solr.handler.dataimport.DataImportHandlerException:
com.microsoft.sqlserver.jdbc.SQLServerException: The result set is closed.
        at
org.apache.solr.handler.dataimport.DataImportHandlerException.wrapAndThrow(Unknown
Source)
        at
org.apache.solr.handler.dataimport.JdbcDataSource$ResultSetIterator.hasnext(Unknown
Source)
        at
org.apache.solr.handler.dataimport.JdbcDataSource$ResultSetIterator.access$500(Unknown
Source)
        at
org.apache.solr.handler.dataimport.JdbcDataSource$ResultSetIterator$1.hasNext(Unknown
Source)
        at
org.apache.solr.handler.dataimport.EntityProcessorBase.getNext(Unknown
Source)
        at
org.apache.solr.handler.dataimport.SqlEntityProcessor.nextRow(Unknown
Source)
        at
org.apache.solr.handler.dataimport.ThreadedEntityProcessorWrapper.nextRow(Unknown
Source)
        at
org.apache.solr.handler.dataimport.DocBuilder$EntityRunner.runAThread(Unknown
Source)
        at
org.apache.solr.handler.dataimport.DocBuilder$EntityRunner.access$000(Unknown
Source)
        at
org.apache.solr.handler.dataimport.DocBuilder$EntityRunner$1.run(Unknown
Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown
Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown
Source)
        at java.lang.Thread.run(Unknown Source)
Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: The result set
is closed.
        at
com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:170)
        at
com.microsoft.sqlserver.jdbc.SQLServerResultSet.checkClosed(SQLServerResultSet.java:346)
        at
com.microsoft.sqlserver.jdbc.SQLServerResultSet.next(SQLServerResultSet.java:916)
        at
org.apache.tomcat.dbcp.dbcp.DelegatingResultSet.next(DelegatingResultSet.java:174)
        ... 12 more


SEVERE: Can not close connection
java.sql.SQLException: Already closed.
        at
org.apache.tomcat.dbcp.dbcp.PoolableConnection.close(PoolableConnection.java:84)
        at
org.apache.tomcat.dbcp.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.close(PoolingDataSource.java:189)
        at
org.apache.solr.handler.dataimport.JdbcDataSource$ResultSetIterator.closeResources(Unknown
Source)
        at
org.apache.solr.handler.dataimport.JdbcDataSource$ResultSetIterator.hasnext(Unknown
Source)
        at
org.apache.solr.handler.dataimport.JdbcDataSource$ResultSetIterator.access$500(Unknown
Source)
        at
org.apache.solr.handler.dataimport.JdbcDataSource$ResultSetIterator$1.hasNext(Unknown
Source)
        at
org.apache.solr.handler.dataimport.EntityProcessorBase.getNext(Unknown
Source)
        at
org.apache.solr.handler.dataimport.SqlEntityProcessor.nextRow(Unknown
Source)
        at
org.apache.solr.handler.dataimport.ThreadedEntityProcessorWrapper.nextRow(Unknown
Source)
        at
org.apache.solr.handler.dataimport.DocBuilder$EntityRunner.runAThread(Unknown
Source)
        at
org.apache.solr.handler.dataimport.DocBuilder$EntityRunner.access$000(Unknown
Source)
        at
org.apache.solr.handler.dataimport.DocBuilder$EntityRunner$1.run(Unknown
Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown
Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown
Source)
        at java.lang.Thread.run(Unknown Source)


Out intial hypothesis was that there is a problem with the connection
thread,so we made changes to the context.xml and added
validationQuery,testOnBorrow etc..to make sure the thread doesnt time out.

We also killed a lot of sleeping sessions from the server to the database.

All of the above still didnt work

Need help now,I have no clue what is going wrong now.

Regards,

Aniket Bhoi

Reply via email to