Andreas Hubold created SOLR-15468:
-------------------------------------

             Summary: Regression: Adding _root_ schema field to existing index 
causes atomic update failures
                 Key: SOLR-15468
                 URL: https://issues.apache.org/jira/browse/SOLR-15468
             Project: Solr
          Issue Type: Bug
      Security Level: Public (Default Security Level. Issues are Public)
          Components: update
    Affects Versions: 8.8
            Reporter: Andreas Hubold


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. 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:
{noformat}
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)
 {noformat}
 



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

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to