[
https://issues.apache.org/jira/browse/SOLR-10475?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15980806#comment-15980806
]
Mikhail Khludnev edited comment on SOLR-10475 at 4/24/17 8:01 AM:
------------------------------------------------------------------
I tried to use [^SOLR-10475.patch] as a reproducer at 6.0 (pre SOLR-2199,
SOLR-8612)
So far this test neither impacts 6.0 nor *master*. Testcases are welcome.
was (Author: mkhludnev):
I tried to use [^SOLR-10475.patch] as a reproducer at 6.0 (pre SOLR-2199,
SOLR-8612)
{code}
[junit4] 2> Caused by: java.lang.IllegalArgumentException: expect
strictly increasing primary keys for Relation PERSON_ID=People.ID got: 22,21
[junit4] 2> at
org.apache.solr.handler.dataimport.Zipper.onNewParent(Zipper.java:109)
[junit4] 2> at
org.apache.solr.handler.dataimport.EntityProcessorBase.init(EntityProcessorBase.java:63)
[junit4] 2> at
org.apache.solr.handler.dataimport.SqlEntityProcessor.init(SqlEntityProcessor.java:52)
{code}
So far it breaks 6.0 and *master* as well. So, it needs to figure out, whether
it's worth to fix this case.
h1. hold on. I might be wrong.
> DIH JdbcDataSource SqlEntityProcessor - Support Child-free parents after all
> children has been consumed
> -------------------------------------------------------------------------------------------------------
>
> Key: SOLR-10475
> URL: https://issues.apache.org/jira/browse/SOLR-10475
> Project: Solr
> Issue Type: Bug
> Security Level: Public(Default Security Level. Issues are Public)
> Components: contrib - DataImportHandler
> Affects Versions: 5.5.1
> Environment: Solr on Linux machine
> Oracle Data base (11g)
> Reporter: Pavel Vasilyev
> Attachments: SOLR-10475.patch
>
>
> Assume DIH's feature of zipping {{parents}} and {{children}} is used. Here is
> sample {{dih-config.xml}}:
> {code:xml}
> <dataConfig>
> <document>
> <entity name="parent" processor="SqlEntityProcessor"
> query="SELECT * FROM PARENT ORDER BY id">
> <entity name="child_1" processor="SqlEntityProcessor"
> where="parent_id=parent.id" query="SELECT *
> FROM CHILD_1 ORDER BY parent_id" join="zipper" >
> </entity>
> </entity>
> </document>
> </dataConfig>
> {code}
> One might come up with the issue when:
> - Oracle Database is used;
> - at some point of joining there are no more children documents; thus the
> child's {{ResultSet}} is closed;
> - parent documents are not finished; thus {{ResultSet}} is still in process;
> - attempting to find child for the next parent is failing due to closed
> {{ResultSet}}
> Here is stacktrace:
> {code}
> org.apache.solr.handler.dataimport.DataImportHandlerException:
> java.sql.SQLRecoverableException: Closed Resultset: next
> at
> org.apache.solr.handler.dataimport.DataImportHandlerException.wrapAndThrow(DataImportHandlerException.java:61)
> at
> org.apache.solr.handler.dataimport.JdbcDataSource$ResultSetIterator.hasnext(JdbcDataSource.java:434)
> at
> org.apache.solr.handler.dataimport.JdbcDataSource$ResultSetIterator$1.hasNext(JdbcDataSource.java:350)
> at
> com.google.common.collect.Iterators$PeekingImpl.hasNext(Iterators.java:1216)
> at org.apache.solr.handler.dataimport.Zipper.supplyNextChild(Zipper.java:65)
> at
> org.apache.solr.handler.dataimport.EntityProcessorBase.getNext(EntityProcessorBase.java:127)
> at
> org.apache.solr.handler.dataimport.SqlEntityProcessor.nextRow(SqlEntityProcessor.java:75)
> at
> org.apache.solr.handler.dataimport.EntityProcessorWrapper.nextRow(EntityProcessorWrapper.java:244)
> at
> org.apache.solr.handler.dataimport.DocBuilder.buildDocument(DocBuilder.java:475)
> at
> org.apache.solr.handler.dataimport.DocBuilder.buildDocument(DocBuilder.java:514)
> at
> org.apache.solr.handler.dataimport.DocBuilder.buildDocument(DocBuilder.java:414)
> at
> org.apache.solr.handler.dataimport.DocBuilder.doFullDump(DocBuilder.java:329)
> at org.apache.solr.handler.dataimport.DocBuilder.execute(DocBuilder.java:232)
> at
> org.apache.solr.handler.dataimport.DataImporter.doFullImport(DataImporter.java:416)
> at
> org.apache.solr.handler.dataimport.DataImporter.runCmd(DataImporter.java:480)
> at
> org.apache.solr.handler.dataimport.DataImporter$1.run(DataImporter.java:461)
> Caused by: java.sql.SQLRecoverableException: Closed Resultset: next
> at oracle.jdbc.driver.OracleResultSetImpl.next(OracleResultSetImpl.java:238)
> at
> org.apache.solr.handler.dataimport.JdbcDataSource$ResultSetIterator.hasnext(JdbcDataSource.java:426)
> ... 14 more
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]