[
https://issues.apache.org/jira/browse/SOLR-15468?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Andreas Hubold updated SOLR-15468:
----------------------------------
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:
{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}
was:
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}
> 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: [email protected]
For additional commands, e-mail: [email protected]