You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-user@lucene.apache.org by George <em...@gmail.com> on 2009/06/24 19:42:30 UTC

DataImportHandler Full Import completed successfully after SQLException

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

Re: DataImportHandler Full Import completed successfully after SQLException

Posted by George <em...@gmail.com>.
Noble, thank you for fixing this issue! :)

2009/6/25 Noble Paul നോബിള്‍ नोब्ळ् <no...@corp.aol.com>

> 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<em...@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
>

Re: DataImportHandler Full Import completed successfully after SQLException

Posted by Noble Paul നോബിള്‍ नोब्ळ् <no...@corp.aol.com>.
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<em...@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