OK , this should be a bug with JdbcDataSource.

look at the line
org.apache.solr.handler.dataimport.JdbcDataSource$ResultSetIterator.hasnext(JdbcDataSource.java:326)

it is eating up the exception and logs error and goes back. I shall
raise an issue

thanks


On Wed, Jun 24, 2009 at 11:12 PM, George<emagp...@gmail.com> wrote:
> Hi,
> Yesterday I found out the following exception trying to index from an Oracle
> Database in my indexing process:
>
> 2009-06-23 14:57:29,205 WARN
>  [org.apache.solr.handler.dataimport.JdbcDataSource] Error reading data
> java.sql.SQLException: ORA-01555: snapshot too old: rollback segment number
> 1 with name "_SYSSMU1$" too small
>
> at
> oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:70)
> at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:110)
> at
> oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:171)
> at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:455)
> at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:413)
> at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:1030)
> at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:183)
> at oracle.jdbc.driver.T4CStatement.fetch(T4CStatement.java:1000)
> at
> oracle.jdbc.driver.OracleResultSetImpl.close_or_fetch_from_next(OracleResultSetImpl.java:314)
> at oracle.jdbc.driver.OracleResultSetImpl.next(OracleResultSetImpl.java:228)
> at
> org.jboss.resource.adapter.jdbc.WrappedResultSet.next(WrappedResultSet.java:1184)
> at
> org.apache.solr.handler.dataimport.JdbcDataSource$ResultSetIterator.hasnext(JdbcDataSource.java:326)
> at
> org.apache.solr.handler.dataimport.JdbcDataSource$ResultSetIterator.access$700(JdbcDataSource.java:223)
> at
> org.apache.solr.handler.dataimport.JdbcDataSource$ResultSetIterator$1.hasNext(JdbcDataSource.java:258)
> at
> org.apache.solr.handler.dataimport.EntityProcessorBase.getNext(EntityProcessorBase.java:73)
> at
> org.apache.solr.handler.dataimport.SqlEntityProcessor.nextRow(SqlEntityProcessor.java:73)
> at
> org.apache.solr.handler.dataimport.EntityProcessorWrapper.nextRow(EntityProcessorWrapper.java:231)
> at
> org.apache.solr.handler.dataimport.DocBuilder.buildDocument(DocBuilder.java:335)
> at
> org.apache.solr.handler.dataimport.DocBuilder.doFullDump(DocBuilder.java:224)
> at
> org.apache.solr.handler.dataimport.DocBuilder.execute(DocBuilder.java:167)
> at
> org.apache.solr.handler.dataimport.DataImporter.doFullImport(DataImporter.java:316)
> at
> org.apache.solr.handler.dataimport.DataImporter.runCmd(DataImporter.java:374)
> at
> org.apache.solr.handler.dataimport.DataImporter$1.run(DataImporter.java:355)
> 2009-06-23 14:57:29,206 INFO
>  [org.apache.solr.handler.dataimport.DocBuilder] Full Import completed
> successfully
> 2009-06-23 14:57:29,206 INFO  [org.apache.solr.update.UpdateHandler] start
> commit(optimize=true,waitFlush=false,waitSearcher=true)
>
> As you can see, Full Import completed successfully indexing a part (about
> 70000) of all expected documents (about 150000). I don't know if it is a bug
> or not but certainly it's not the behaviour I expect in this situation. It
> should have rolled back, shouldn't it?
>
> Reading Solr code I can see that in line 314 of JdbcDataSource.java it
> throws a DataImportHandlerException with SEVERE errCode so I can't
> understand why my indexing process finishes correctly.
>
> I'm working with Solr trunk version (rev. 785397) and no custom properties
> (i.e. onError value is default 'abort') in DataImportHandler.
>
> George
>



-- 
-----------------------------------------------------
Noble Paul | Principal Engineer| AOL | http://aol.com

Reply via email to