[ https://issues.apache.org/jira/browse/SOLR-15468?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17360861#comment-17360861 ]
David Eric Pugh commented on SOLR-15468: ---------------------------------------- One thing that I have noticed with nested docs is that the overall approach has evolved over time, and that it means that when you use nested docs, you need to *really* pay attention to the individual changes. I think it's accentuated because it's the intersection of code and state of your data ;) I'd like to see, maybe in 9.0, maybe a clear demarcation where "Here is the way to do it, and we only do it this way". So, for example, maybe in 8.x it's okay to put in this change on the root field, but lets decide on 9 that you MUST have a root field. Let's reduce the complexity and number of variations in how Nested Docs work. Make it more accessible feature and less of a power user feature. > 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