lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Cao Manh Dat (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (SOLR-11532) Solr hits NPE when fl only contains DV fields and any of them is a spatial field
Date Wed, 25 Oct 2017 04:36:00 GMT

     [ https://issues.apache.org/jira/browse/SOLR-11532?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Cao Manh Dat updated SOLR-11532:
--------------------------------
    Attachment: SOLR-11532.patch

Here is my patch for this ticket. Aiming to handle not decodable fields carefully. 
- {{RetrieveFieldsOptimizer}} will only use DV for fields that are decodable.
- {{SolrDocumentFetcher}} will handle decoding DV more carefully. If there are an Exception
in decode a DV, it will fall-back on using stored value instead.

> Solr hits NPE when fl only contains DV fields and any of them is a spatial field
> --------------------------------------------------------------------------------
>
>                 Key: SOLR-11532
>                 URL: https://issues.apache.org/jira/browse/SOLR-11532
>             Project: Solr
>          Issue Type: Bug
>      Security Level: Public(Default Security Level. Issues are Public) 
>          Components: spatial
>    Affects Versions: 7.1
>            Reporter: Cao Manh Dat
>            Assignee: Cao Manh Dat
>         Attachments: SOLR-11532-test.patch, SOLR-11532.patch
>
>
> Right now, Solr does not know how to decode DV value of LatLonPointSpatialField. Therefore,
Solr will hit NPE when trying to do that, for example: 
> - when fl contains a spatial field and it is DV + not stored
> - when fl only contains DV fields and any of them is a spatial field ( stored + DV ).
Because SOLR-8344 will always use values from DV fields. This seems a common case.
> Stacktrace (from Solr 7.1)
> {code}
> 2017-10-23 10:28:52,528 [qtp1649011739-67] ERROR HttpSolrCall  - null:java.lang.NullPointerException
>     at org.apache.solr.search.SolrDocumentFetcher.decorateDocValueFields(SolrDocumentFetcher.java:525)
>     at org.apache.solr.response.DocsStreamer.next(DocsStreamer.java:108)
>     at org.apache.solr.response.DocsStreamer.next(DocsStreamer.java:57)
>     at org.apache.solr.response.BinaryResponseWriter$Resolver.writeResultsBody(BinaryResponseWriter.java:126)
>     at org.apache.solr.response.BinaryResponseWriter$Resolver.writeResults(BinaryResponseWriter.java:145)
>     at org.apache.solr.response.BinaryResponseWriter$Resolver.resolve(BinaryResponseWriter.java:89)
>     at org.apache.solr.common.util.JavaBinCodec.writeVal(JavaBinCodec.java:239)
>     at org.apache.solr.common.util.JavaBinCodec.writeNamedList(JavaBinCodec.java:223)
>     at org.apache.solr.common.util.JavaBinCodec.writeKnownType(JavaBinCodec.java:330)
>     at org.apache.solr.common.util.JavaBinCodec.writeVal(JavaBinCodec.java:228)
>     at org.apache.solr.common.util.JavaBinCodec.marshal(JavaBinCodec.java:155)
> {code}
> This bug found by [~kiranch]



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org


Mime
View raw message