Hi Walter,

Indeed, there's a race condition there because we didn't expect people to
hit it concurrently. We expected that imports would be run sequentially.

Thanks for noticing this. We shall add synchronization to the next release.
Do you mind (again) opening an issue for this? We'll attach a patch soon.

On Tue, Aug 26, 2008 at 4:56 PM, Walter Ferrara <[EMAIL PROTECTED]>wrote:

> I'm using DIH and its wonderful delta-import.
> I have a question: the delta-import is synchronized? multiple call to
> delta imports, shouldn't result in one refused because the status is not
> idle?
> I've noticed however that calling multiple times in a sec the
> dataimport/?command=delta-import result in a strange exception:
>
> GRAVE: Delta Import Failed
> org.apache.solr.handler.dataimport.DataImportHandlerException: Unable to
> execute query: select entity from testtable where last_modified >
> '2008-08-26 13:05:09' Processing Document # 1
>    at
>
> org.apache.solr.handler.dataimport.JdbcDataSource$ResultSetIterator.<init>(JdbcDataSource.java:171)
>    at
>
> org.apache.solr.handler.dataimport.JdbcDataSource.getData(JdbcDataSource.java:128)
>    at
>
> org.apache.solr.handler.dataimport.JdbcDataSource.getData(JdbcDataSource.java:41)
>    at
>
> org.apache.solr.handler.dataimport.SqlEntityProcessor.initQuery(SqlEntityProcessor.java:59)
>    at
>
> org.apache.solr.handler.dataimport.SqlEntityProcessor.nextModifiedRowKey(SqlEntityProcessor.java:92)
>    at
>
> org.apache.solr.handler.dataimport.DocBuilder.collectDelta(DocBuilder.java:479)
>    at
> org.apache.solr.handler.dataimport.DocBuilder.doDelta(DocBuilder.java:192)
>    at
> org.apache.solr.handler.dataimport.DocBuilder.execute(DocBuilder.java:131)
>    at
>
> org.apache.solr.handler.dataimport.DataImporter.doDeltaImport(DataImporter.java:357)
>    at
>
> org.apache.solr.handler.dataimport.DataImporter.rumCmd(DataImporter.java:386)
>    at
>
> org.apache.solr.handler.dataimport.DataImporter$1.run(DataImporter.java:375)
> Caused by:
> com.mysql.jdbc.exceptions.MySQLNonTransientConnectionException: No
> operations allowed after connection closed.
>    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:888)
>    at com.mysql.jdbc.Connection.checkClosed(Connection.java:1930)
>    at com.mysql.jdbc.Connection.createStatement(Connection.java:3094)
>    at
>
> org.apache.solr.handler.dataimport.JdbcDataSource$ResultSetIterator.<init>(JdbcDataSource.java:159)
>    ... 10 more
>
> while calling the delta-import, waiting a bit, and recalling it again
> works fine...
>
> thanks,
> Walter
>
>


-- 
Regards,
Shalin Shekhar Mangar.

Reply via email to