Uploaded image for project: 'Solr'
  1. Solr
  2. SOLR-15540

changes in internal usage of _root_ field cause failures to deleteById or duplicate docs when updating after upgrading from Solr7 to Solr8

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 8.8.2
    • None
    • None
    • SolrCloud Solr 8.8.2

    Description

      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.

      <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"/>
      
      

       

      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

      DirectUpdateHandler2.updateDocOrDocValues

      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  

       

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              samuelma samuel ma
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated: