[ https://issues.apache.org/jira/browse/SOLR-15468?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17360913#comment-17360913 ]
David Smiley commented on SOLR-15468: ------------------------------------- Basically, once the root field exists in the schema, Solr uses this field to replace/delete documents, and not the uniqueKey field. There are exceptions but that's the gist of it. > 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 > Priority: Major > Labels: regression > > 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: > {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: issues-unsubscr...@solr.apache.org For additional commands, e-mail: issues-h...@solr.apache.org