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

Regression: Adding _root_ schema field to existing index causes atomic update failures

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Not A Problem
    • 8.8
    • None
    • update

    Description

      In previous Solr releases (8.6.3) it was possible to add the _root_ field to the schema of an existing index, e.g to add functionality relying on child documents without reindexing all documents.

      This does not work anymore with Solr 8.8.2, because SOLR-14923 added a check in RealTimeGetComponent#getInputDocument that the root field contains the expected value. IIUC, the check does not only fail for wrong values, but also if the root field does not contain any value yet, as it's the case for documents that were added before the field was added to the schema.

      The check causes atomic/partial updates to fail:

      Caused by: org.apache.solr.common.SolrException: Attempted an 
      atomic/partial update to a child doc without indicating the _root_ somehow.
               at 
      org.apache.solr.handler.component.RealTimeGetComponent.getInputDocument(RealTimeGetComponent.java:746)
               at 
      org.apache.solr.update.processor.DistributedUpdateProcessor.getUpdatedDocument(DistributedUpdateProcessor.java:689)
               at 
      org.apache.solr.update.processor.DistributedUpdateProcessor.doVersionAdd(DistributedUpdateProcessor.java:373)
               at 
      org.apache.solr.update.processor.DistributedUpdateProcessor.lambda$versionAdd$0(DistributedUpdateProcessor.java:336)
               at 
      org.apache.solr.update.VersionBucket.runWithLock(VersionBucket.java:50)
               at 
      org.apache.solr.update.processor.DistributedUpdateProcessor.versionAdd(DistributedUpdateProcessor.java:336)
               at 
      org.apache.solr.update.processor.DistributedUpdateProcessor.processAdd(DistributedUpdateProcessor.java:222)
               at 
      org.apache.solr.update.processor.UpdateRequestProcessor.processAdd(UpdateRequestProcessor.java:55)
       

       

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              ahubold Andreas Hubold
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: