[ https://issues.apache.org/jira/browse/SOLR-13966?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16992912#comment-16992912 ]
Thomas Wöckinger commented on SOLR-13966: ----------------------------------------- [~dsmiley] Found a small issue during review your commit [NestedAtomicUpdateTest.java:|https://github.com/apache/lucene-solr/commit/87aa11baf83f59365a30b12e2e41048bd8394182#diff-da0588524488fa7ae0433126c1d687a8] Line 694: doc = sdoc("id", "1", "child1", Collections.singletonMap("set", null)); should be: doc = sdoc("id", "1", "child1", Collections.singletonMap("set", empty ? new ArrayList<>() : null)); Was also wrong in my last PR, sorry for that. > LatLonPointSpatialField doesn't work with RealTimeGetComponent > -------------------------------------------------------------- > > Key: SOLR-13966 > URL: https://issues.apache.org/jira/browse/SOLR-13966 > Project: Solr > Issue Type: Bug > Security Level: Public(Default Security Level. Issues are Public) > Components: Schema and Analysis, UpdateRequestProcessors > Affects Versions: master (9.0), 8.3, 8.3.1 > Reporter: Thomas Wöckinger > Assignee: David Smiley > Priority: Major > Fix For: 8.4 > > Time Spent: 0.5h > Remaining Estimate: 0h > > LatLonDocValuesField is used by LatLonPointSpatialField field type to store > doc values. It does this by encoding the two double values into a long. If > the field is part of a document which takes place within a atomic update > operation RealTimeGetComponent is used to load the field values from the > index. > If the request is a nested request (line number 654: isNestedRequest is set > by DistributedUpdateProcessor to Resolution.ROOT_WITH_CHILDREN) all field > values from the schema are copied into a SolrInputDocument (line 678). > The copy is implemented by toSolrInputDocument method (line 728 of > RealTimeGetComponent). The method retrieves the FieldType of the SchemaField > and calls the toObject method (line 740). In case of LatLonPointSpatialField > type, when docValues is set to true and stored is set to false, the fieldData > is stored by a LatLonDocValuesField instance. > The toObject method is implemented by the base class FieldType toExternal > with the LatLonDocValuesField instance (line 373). In line 359 the method > stringValue of the Field is called. The default implementation (line 259) > checks if the fieldsData is either CharSequence or a Number and calls > fieldsData.toString. > Because fieldsData is of type Long in LatLonDocValuesField class the value is > not decoded correctly. > From my opinion LatLonDocValuesField must implement (override) the > stringValue method and return the decoded value. > > -- This message was sent by Atlassian Jira (v8.3.4#803005) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org