[ 
https://issues.apache.org/jira/browse/SOLR-15540?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17390157#comment-17390157
 ] 

David Smiley commented on SOLR-15540:
-------------------------------------

Nice analysis Hoss.
 An intrepid developer could write a PostingsFormat for the _root_ field that 
does a fallback lookup on the id field. The harder part is enumerating all 
terms that combines root with only some of the id fields for docs that don't 
have a root value. That'd require uninverting root, find the holes (docIds), 
and then finding which id terms point to those docIds, only keeping these id 
terms when merging with all of root's terms.

> changes in internal usage of _root_ field cause failures to deleteById or 
> duplicate docs when updating after upgrading from Solr7 to Solr8
> ------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: SOLR-15540
>                 URL: https://issues.apache.org/jira/browse/SOLR-15540
>             Project: Solr
>          Issue Type: Bug
>      Security Level: Public(Default Security Level. Issues are Public) 
>          Components: update, UpdateRequestProcessors
>    Affects Versions: 8.8.2
>         Environment: SolrCloud Solr 8.8.2
>            Reporter: samuel ma
>            Priority: Major
>
> We upgrade Solr7.7.2 to Solr8.8.2, keep using the Solr 7 index data, the 
> query operation is fine. But when we try to add the doc (with the same doc 
> id, actually is an update operation) to Solr8, we actually see 2 doc with the 
> same id, which means the update did not remove the Solr7 doc.
> Below is the schema.xml configuration for Solr7.
> {code:java}
> <field name="id" type="string" indexed="true" stored="true" required="true" 
> multiValued="false" />
> <uniqueKey>id</uniqueKey>
> <field name="_root_" type="string" indexed="true" stored="false"/>
> {code}
>  
> Add some fields in Solr8
> <field name="_nest_path_" type="_nest_path_" stored="true"/>
> <fieldType name="_nest_path_" class="solr.NestPathField" />
>  
> I can see in Sol7 code
> {code:java}
> DirectUpdateHandler2.updateDocOrDocValues{code}
> use the idTerm as updateTerm, but in this case Solr8 use rootTerm as the 
> updateTerm. is this an expected behavior? how do we handle this incompatible 
> issue? 
>  
> Add comment:
> This also impacts deletebyId  
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org
For additional commands, e-mail: issues-h...@solr.apache.org

Reply via email to