You are running an ancient version of Solr plus the multi-threaded support
in DataImportHandler was experimental at best and was removed a few
versions later.

Why don't you upgrade to a more recent version of Solr? At the very least,
remove the threads setttings from DIH.


On Thu, May 22, 2014 at 1:23 PM, Aniket Bhoi <aniket.b...@gmail.com> wrote:

> 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
>



-- 
Regards,
Shalin Shekhar Mangar.

Reply via email to