You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Commit Tag Bot (JIRA)" <ji...@apache.org> on 2013/03/22 17:41:18 UTC

[jira] [Commented] (SOLR-3791) SortedMapBackedCache.java throws NullPointerException

    [ 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: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org