[
https://issues.apache.org/jira/browse/SOLR-3791?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13610854#comment-13610854
]
Commit Tag Bot commented on SOLR-3791:
--------------------------------------
[branch_4x commit] James Dyer
http://svn.apache.org/viewvc?view=revision&revision=1384828
SOLR-3779/SOLR-3791: fix for DIH LineEntityProcessor & CachedSqlEntityProdessor
> SortedMapBackedCache.java throws NullPointerException
> -----------------------------------------------------
>
> Key: SOLR-3791
> URL: https://issues.apache.org/jira/browse/SOLR-3791
> Project: Solr
> Issue Type: Bug
> Components: contrib - DataImportHandler
> Affects Versions: 3.6.1, 4.0-BETA
> Environment: Debian
> Reporter: Steffen Moelter
> Assignee: James Dyer
> Priority: Blocker
> Fix For: 4.0, 3.6.2
>
> Attachments: SOLR-3791.patch, SOLR-3791.patch
>
>
> As datasource is a mysql via jdbc configured in the DIH. There are some sql
> statements in entities, that delivers NULL values in some fields.
> When this entities do have processor="CachedSqlEntityProcessor", a
> NullPointerException will be thrown. I Tried it on different machines, with
> different copies of the index.
> e.g.:
> <entity processor="CachedSqlEntityProcessor"
> name="locator_ids"
> query="
> SELECT l1.id AS l1id, l2.id AS l2id, l3.id AS l3id, l4.id AS l4id,
> l5.id AS l5id, l6.id AS l6id, l7.id AS l7id FROM locators l1
> LEFT JOIN locators l2 ON l1.parent_id = l2.id
> .... and so on delivers a result like:
> +-------+------+------+------+------+------+------+
> | l1id | l2id | l3id | l4id | l5id | l6id | l7id |
> +-------+------+------+------+------+------+------+
> | 21843 | 855 | 223 | 66 | 12 | 1 | NULL |
> +-------+------+------+------+------+------+------+
> The SortedMapBackedCache throws the NullPointer.
> Staktrace:
> java.lang.NullPointerException
> at java.util.TreeMap.getEntry(TreeMap.java:341)
> at java.util.TreeMap.get(TreeMap.java:272)
> at
> org.apache.solr.handler.dataimport.SortedMapBackedCache.add(SortedMapBackedCache.java:57)
> at
> org.apache.solr.handler.dataimport.DIHCacheSupport.populateCache(DIHCacheSupport.java:124)
> at
> org.apache.solr.handler.dataimport.DIHCacheSupport.getSimpleCacheData(DIHCacheSupport.java:199)
> at
> org.apache.solr.handler.dataimport.DIHCacheSupport.getCacheData(DIHCacheSupport.java:147)
> at
> org.apache.solr.handler.dataimport.EntityProcessorBase.getNext(EntityProcessorBase.java:132)
> at
> org.apache.solr.handler.dataimport.SqlEntityProcessor.nextRow(SqlEntityProcessor.java:75)
> at
> org.apache.solr.handler.dataimport.EntityProcessorWrapper.pullRow(EntityProcessorWrapper.java:330)
> at
> org.apache.solr.handler.dataimport.EntityProcessorWrapper.nextRow(EntityProcessorWrapper.java:296)
> at
> org.apache.solr.handler.dataimport.DocBuilder.buildDocument(DocBuilder.java:683)
> I had to give an onError="continue" to the entity, in order to get the proper
> stacktrace. Leaving out the onError property (default=Abort) suppresses the
> stacktrace in EntityProcessorWrapper.java line 332
> The DIH version 3.5.0 is not affected, works fine for me
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]