[jira] [Commented] (SOLR-11876) InPlace update fails when resolving from Tlog if schema has a required field
[ https://issues.apache.org/jira/browse/SOLR-11876?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16772053#comment-16772053 ] Justin Deoliveira commented on SOLR-11876: -- Thanks for getting this one in! > InPlace update fails when resolving from Tlog if schema has a required field > > > Key: SOLR-11876 > URL: https://issues.apache.org/jira/browse/SOLR-11876 > Project: Solr > Issue Type: Bug > Security Level: Public(Default Security Level. Issues are Public) >Affects Versions: 7.2 > Environment: OSX High Sierra > java version "1.8.0_152" > Java(TM) SE Runtime Environment (build 1.8.0_152-b16) > Java HotSpot(TM) 64-Bit Server VM (build 25.152-b16, mixed mode) >Reporter: Justin Deoliveira >Assignee: Ishan Chattopadhyaya >Priority: Major > Fix For: 8.x, master (9.0), 7.7.1 > > Attachments: SOLR-11876.patch, SOLR-11876.patch, SOLR-11876.patch, > SOLR-11876.patch > > > The situation is doing an in place update of a non-indexed/stored numeric doc > values field multiple times in fast succession. The schema > has a required field ("name") in it. On the third update request the update > fails complaining "missing required field: name". It seems this happens > when the update document is being resolved from from the TLog. > To reproduce: > 1. Setup a schema that has: > - A required field other than the uniquekey field, in my case it's called > "name" > - A numeric doc values field suitable for in place update (non-indexed, > non-stored), in my case it's called "likes" > 2. Execute an in place update of the document a few times in fast succession: > {noformat} > for i in `seq 10`; do > curl -X POST -H 'Content-Type: application/json' > 'http://localhost:8983/solr/core1/update' --data-binary ' > [{ > "id": "1", > "likes": { "inc": 1 } > }]' > done{noformat} > The resulting stack trace: > {noformat} > 2018-01-19 21:27:26.644 ERROR (qtp1873653341-14) [ x:core1] > o.a.s.h.RequestHandlerBase org.apache.solr.common.SolrException: [doc=1] > missing required field: name > at > org.apache.solr.update.DocumentBuilder.toDocument(DocumentBuilder.java:233) > at > org.apache.solr.handler.component.RealTimeGetComponent.toSolrDoc(RealTimeGetComponent.java:767) > at > org.apache.solr.handler.component.RealTimeGetComponent.resolveFullDocument(RealTimeGetComponent.java:423) > at > org.apache.solr.handler.component.RealTimeGetComponent.getInputDocumentFromTlog(RealTimeGetComponent.java:551) > at > org.apache.solr.handler.component.RealTimeGetComponent.getInputDocument(RealTimeGetComponent.java:609) > at > org.apache.solr.update.processor.AtomicUpdateDocumentMerger.doInPlaceUpdateMerge(AtomicUpdateDocumentMerger.java:253) > at > org.apache.solr.update.processor.DistributedUpdateProcessor.getUpdatedDocument(DistributedUpdateProcessor.java:1279) > at > org.apache.solr.update.processor.DistributedUpdateProcessor.versionAdd(DistributedUpdateProcessor.java:1008) > at > org.apache.solr.update.processor.DistributedUpdateProcessor.processAdd(DistributedUpdateProcessor.java:617) > at > org.apache.solr.update.processor.LogUpdateProcessorFactory$LogUpdateProcessor.processAdd(LogUpdateProcessorFactory.java:103) > at > org.apache.solr.update.processor.UpdateRequestProcessor.processAdd(UpdateRequestProcessor.java:55) > at > org.apache.solr.update.processor.FieldMutatingUpdateProcessor.processAdd(FieldMutatingUpdateProcessor.java:118) > at > org.apache.solr.update.processor.UpdateRequestProcessor.processAdd(UpdateRequestProcessor.java:55) > at > org.apache.solr.update.processor.FieldMutatingUpdateProcessor.processAdd(FieldMutatingUpdateProcessor.java:118) > at > org.apache.solr.update.processor.UpdateRequestProcessor.processAdd(UpdateRequestProcessor.java:55) > at > org.apache.solr.update.processor.FieldMutatingUpdateProcessor.processAdd(FieldMutatingUpdateProcessor.java:118) > at > org.apache.solr.update.processor.UpdateRequestProcessor.processAdd(UpdateRequestProcessor.java:55) > at > org.apache.solr.update.processor.FieldMutatingUpdateProcessor.processAdd(FieldMutatingUpdateProcessor.java:118) > at > org.apache.solr.update.processor.UpdateRequestProcessor.processAdd(UpdateRequestProcessor.java:55) > at > org.apache.solr.update.processor.FieldNameMutatingUpdateProcessorFactory$1.processAdd(FieldNameMutatingUpdateProcessorFactory.java:75) > at > org.apache.solr.update.processor.UpdateRequestProcessor.processAdd(UpdateRequestProcessor.java:55) > at > org.apache.solr.update.processor.FieldMutatingUpdateProcessor.processAdd(FieldMutatingUpdateProcessor.java:118) > at > org.apache.solr.update.processor.UpdateRequestProcessor.processAdd(UpdateRequestProcessor.java:55) > at > org.apache.solr.update
[jira] [Commented] (SOLR-11876) InPlace update fails when resolving from Tlog if schema has a required field
[ https://issues.apache.org/jira/browse/SOLR-11876?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16357378#comment-16357378 ] Justin Deoliveira commented on SOLR-11876: -- [~ichattopadhyaya] : Apologies for the direct poke but as the mastermind of the recent work for inplace updates I was wondering if you had any thoughts on this patch? > InPlace update fails when resolving from Tlog if schema has a required field > > > Key: SOLR-11876 > URL: https://issues.apache.org/jira/browse/SOLR-11876 > Project: Solr > Issue Type: Bug > Security Level: Public(Default Security Level. Issues are Public) >Affects Versions: 7.2 > Environment: OSX High Sierra > java version "1.8.0_152" > Java(TM) SE Runtime Environment (build 1.8.0_152-b16) > Java HotSpot(TM) 64-Bit Server VM (build 25.152-b16, mixed mode) >Reporter: Justin Deoliveira >Priority: Major > Attachments: SOLR-11876.patch > > > The situation is doing an in place update of a non-indexed/stored numeric doc > values field multiple times in fast succession. The schema > has a required field ("name") in it. On the third update request the update > fails complaining "missing required field: name". It seems this happens > when the update document is being resolved from from the TLog. > To reproduce: > 1. Setup a schema that has: > - A required field other than the uniquekey field, in my case it's called > "name" > - A numeric doc values field suitable for in place update (non-indexed, > non-stored), in my case it's called "likes" > 2. Execute an in place update of the document a few times in fast succession: > {noformat} > for i in `seq 10`; do > curl -X POST -H 'Content-Type: application/json' > 'http://localhost:8983/solr/core1/update' --data-binary ' > [{ > "id": "1", > "likes": { "inc": 1 } > }]' > done{noformat} > The resulting stack trace: > {noformat} > 2018-01-19 21:27:26.644 ERROR (qtp1873653341-14) [ x:core1] > o.a.s.h.RequestHandlerBase org.apache.solr.common.SolrException: [doc=1] > missing required field: name > at > org.apache.solr.update.DocumentBuilder.toDocument(DocumentBuilder.java:233) > at > org.apache.solr.handler.component.RealTimeGetComponent.toSolrDoc(RealTimeGetComponent.java:767) > at > org.apache.solr.handler.component.RealTimeGetComponent.resolveFullDocument(RealTimeGetComponent.java:423) > at > org.apache.solr.handler.component.RealTimeGetComponent.getInputDocumentFromTlog(RealTimeGetComponent.java:551) > at > org.apache.solr.handler.component.RealTimeGetComponent.getInputDocument(RealTimeGetComponent.java:609) > at > org.apache.solr.update.processor.AtomicUpdateDocumentMerger.doInPlaceUpdateMerge(AtomicUpdateDocumentMerger.java:253) > at > org.apache.solr.update.processor.DistributedUpdateProcessor.getUpdatedDocument(DistributedUpdateProcessor.java:1279) > at > org.apache.solr.update.processor.DistributedUpdateProcessor.versionAdd(DistributedUpdateProcessor.java:1008) > at > org.apache.solr.update.processor.DistributedUpdateProcessor.processAdd(DistributedUpdateProcessor.java:617) > at > org.apache.solr.update.processor.LogUpdateProcessorFactory$LogUpdateProcessor.processAdd(LogUpdateProcessorFactory.java:103) > at > org.apache.solr.update.processor.UpdateRequestProcessor.processAdd(UpdateRequestProcessor.java:55) > at > org.apache.solr.update.processor.FieldMutatingUpdateProcessor.processAdd(FieldMutatingUpdateProcessor.java:118) > at > org.apache.solr.update.processor.UpdateRequestProcessor.processAdd(UpdateRequestProcessor.java:55) > at > org.apache.solr.update.processor.FieldMutatingUpdateProcessor.processAdd(FieldMutatingUpdateProcessor.java:118) > at > org.apache.solr.update.processor.UpdateRequestProcessor.processAdd(UpdateRequestProcessor.java:55) > at > org.apache.solr.update.processor.FieldMutatingUpdateProcessor.processAdd(FieldMutatingUpdateProcessor.java:118) > at > org.apache.solr.update.processor.UpdateRequestProcessor.processAdd(UpdateRequestProcessor.java:55) > at > org.apache.solr.update.processor.FieldMutatingUpdateProcessor.processAdd(FieldMutatingUpdateProcessor.java:118) > at > org.apache.solr.update.processor.UpdateRequestProcessor.processAdd(UpdateRequestProcessor.java:55) > at > org.apache.solr.update.processor.FieldNameMutatingUpdateProcessorFactory$1.processAdd(FieldNameMutatingUpdateProcessorFactory.java:75) > at > org.apache.solr.update.processor.UpdateRequestProcessor.processAdd(UpdateRequestProcessor.java:55) > at > org.apache.solr.update.processor.FieldMutatingUpdateProcessor.processAdd(FieldMutatingUpdateProcessor.java:118) > at > org.apache.solr.update.processor.UpdateRequestProcessor.processAdd(UpdateRequestProcessor.java:55) > at > org.apache.solr.update.processor.Abst
[jira] [Commented] (SOLR-11876) InPlace update fails when resolving from Tlog if schema has a required field
[ https://issues.apache.org/jira/browse/SOLR-11876?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16332930#comment-16332930 ] Justin Deoliveira commented on SOLR-11876: -- I've attached my attempt at a patch for the issue, with a test case that reproduces the problem (TestInPlaceUpdatesRequiredField). The idea/approach was to try to pass through inPlaceUpdate as true into DocumentBuilder.toDocument when appropriate. It's my first Solr patch so my apologies if I am way off. I ran all the unit tests with the patch applied and everything passed. > InPlace update fails when resolving from Tlog if schema has a required field > > > Key: SOLR-11876 > URL: https://issues.apache.org/jira/browse/SOLR-11876 > Project: Solr > Issue Type: Bug > Security Level: Public(Default Security Level. Issues are Public) >Affects Versions: 7.2 > Environment: OSX High Sierra > java version "1.8.0_152" > Java(TM) SE Runtime Environment (build 1.8.0_152-b16) > Java HotSpot(TM) 64-Bit Server VM (build 25.152-b16, mixed mode) >Reporter: Justin Deoliveira >Priority: Major > Attachments: SOLR-11876.patch > > > The situation is doing an in place update of a non-indexed/stored numeric doc > values field multiple times in fast succession. The schema > has a required field ("name") in it. On the third update request the update > fails complaining "missing required field: name". It seems this happens > when the update document is being resolved from from the TLog. > To reproduce: > 1. Setup a schema that has: > - A required field other than the uniquekey field, in my case it's called > "name" > - A numeric doc values field suitable for in place update (non-indexed, > non-stored), in my case it's called "likes" > 2. Execute an in place update of the document a few times in fast succession: > {noformat} > for i in `seq 10`; do > curl -X POST -H 'Content-Type: application/json' > 'http://localhost:8983/solr/core1/update' --data-binary ' > [{ > "id": "1", > "likes": { "inc": 1 } > }]' > done{noformat} > The resulting stack trace: > {noformat} > 2018-01-19 21:27:26.644 ERROR (qtp1873653341-14) [ x:core1] > o.a.s.h.RequestHandlerBase org.apache.solr.common.SolrException: [doc=1] > missing required field: name > at > org.apache.solr.update.DocumentBuilder.toDocument(DocumentBuilder.java:233) > at > org.apache.solr.handler.component.RealTimeGetComponent.toSolrDoc(RealTimeGetComponent.java:767) > at > org.apache.solr.handler.component.RealTimeGetComponent.resolveFullDocument(RealTimeGetComponent.java:423) > at > org.apache.solr.handler.component.RealTimeGetComponent.getInputDocumentFromTlog(RealTimeGetComponent.java:551) > at > org.apache.solr.handler.component.RealTimeGetComponent.getInputDocument(RealTimeGetComponent.java:609) > at > org.apache.solr.update.processor.AtomicUpdateDocumentMerger.doInPlaceUpdateMerge(AtomicUpdateDocumentMerger.java:253) > at > org.apache.solr.update.processor.DistributedUpdateProcessor.getUpdatedDocument(DistributedUpdateProcessor.java:1279) > at > org.apache.solr.update.processor.DistributedUpdateProcessor.versionAdd(DistributedUpdateProcessor.java:1008) > at > org.apache.solr.update.processor.DistributedUpdateProcessor.processAdd(DistributedUpdateProcessor.java:617) > at > org.apache.solr.update.processor.LogUpdateProcessorFactory$LogUpdateProcessor.processAdd(LogUpdateProcessorFactory.java:103) > at > org.apache.solr.update.processor.UpdateRequestProcessor.processAdd(UpdateRequestProcessor.java:55) > at > org.apache.solr.update.processor.FieldMutatingUpdateProcessor.processAdd(FieldMutatingUpdateProcessor.java:118) > at > org.apache.solr.update.processor.UpdateRequestProcessor.processAdd(UpdateRequestProcessor.java:55) > at > org.apache.solr.update.processor.FieldMutatingUpdateProcessor.processAdd(FieldMutatingUpdateProcessor.java:118) > at > org.apache.solr.update.processor.UpdateRequestProcessor.processAdd(UpdateRequestProcessor.java:55) > at > org.apache.solr.update.processor.FieldMutatingUpdateProcessor.processAdd(FieldMutatingUpdateProcessor.java:118) > at > org.apache.solr.update.processor.UpdateRequestProcessor.processAdd(UpdateRequestProcessor.java:55) > at > org.apache.solr.update.processor.FieldMutatingUpdateProcessor.processAdd(FieldMutatingUpdateProcessor.java:118) > at > org.apache.solr.update.processor.UpdateRequestProcessor.processAdd(UpdateRequestProcessor.java:55) > at > org.apache.solr.update.processor.FieldNameMutatingUpdateProcessorFactory$1.processAdd(FieldNameMutatingUpdateProcessorFactory.java:75) > at > org.apache.solr.update.processor.UpdateRequestProcessor.processAdd(UpdateRequestProcessor.java:55) > at > org.apache.solr.update.processor.FieldMutatingUpdatePr
[jira] [Updated] (SOLR-11876) InPlace update fails when resolving from Tlog if schema has a required field
[ https://issues.apache.org/jira/browse/SOLR-11876?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Justin Deoliveira updated SOLR-11876: - Attachment: SOLR-11876.patch > InPlace update fails when resolving from Tlog if schema has a required field > > > Key: SOLR-11876 > URL: https://issues.apache.org/jira/browse/SOLR-11876 > Project: Solr > Issue Type: Bug > Security Level: Public(Default Security Level. Issues are Public) >Affects Versions: 7.2 > Environment: OSX High Sierra > java version "1.8.0_152" > Java(TM) SE Runtime Environment (build 1.8.0_152-b16) > Java HotSpot(TM) 64-Bit Server VM (build 25.152-b16, mixed mode) >Reporter: Justin Deoliveira >Priority: Major > Attachments: SOLR-11876.patch > > > The situation is doing an in place update of a non-indexed/stored numeric doc > values field multiple times in fast succession. The schema > has a required field ("name") in it. On the third update request the update > fails complaining "missing required field: name". It seems this happens > when the update document is being resolved from from the TLog. > To reproduce: > 1. Setup a schema that has: > - A required field other than the uniquekey field, in my case it's called > "name" > - A numeric doc values field suitable for in place update (non-indexed, > non-stored), in my case it's called "likes" > 2. Execute an in place update of the document a few times in fast succession: > {noformat} > for i in `seq 10`; do > curl -X POST -H 'Content-Type: application/json' > 'http://localhost:8983/solr/core1/update' --data-binary ' > [{ > "id": "1", > "likes": { "inc": 1 } > }]' > done{noformat} > The resulting stack trace: > {noformat} > 2018-01-19 21:27:26.644 ERROR (qtp1873653341-14) [ x:core1] > o.a.s.h.RequestHandlerBase org.apache.solr.common.SolrException: [doc=1] > missing required field: name > at > org.apache.solr.update.DocumentBuilder.toDocument(DocumentBuilder.java:233) > at > org.apache.solr.handler.component.RealTimeGetComponent.toSolrDoc(RealTimeGetComponent.java:767) > at > org.apache.solr.handler.component.RealTimeGetComponent.resolveFullDocument(RealTimeGetComponent.java:423) > at > org.apache.solr.handler.component.RealTimeGetComponent.getInputDocumentFromTlog(RealTimeGetComponent.java:551) > at > org.apache.solr.handler.component.RealTimeGetComponent.getInputDocument(RealTimeGetComponent.java:609) > at > org.apache.solr.update.processor.AtomicUpdateDocumentMerger.doInPlaceUpdateMerge(AtomicUpdateDocumentMerger.java:253) > at > org.apache.solr.update.processor.DistributedUpdateProcessor.getUpdatedDocument(DistributedUpdateProcessor.java:1279) > at > org.apache.solr.update.processor.DistributedUpdateProcessor.versionAdd(DistributedUpdateProcessor.java:1008) > at > org.apache.solr.update.processor.DistributedUpdateProcessor.processAdd(DistributedUpdateProcessor.java:617) > at > org.apache.solr.update.processor.LogUpdateProcessorFactory$LogUpdateProcessor.processAdd(LogUpdateProcessorFactory.java:103) > at > org.apache.solr.update.processor.UpdateRequestProcessor.processAdd(UpdateRequestProcessor.java:55) > at > org.apache.solr.update.processor.FieldMutatingUpdateProcessor.processAdd(FieldMutatingUpdateProcessor.java:118) > at > org.apache.solr.update.processor.UpdateRequestProcessor.processAdd(UpdateRequestProcessor.java:55) > at > org.apache.solr.update.processor.FieldMutatingUpdateProcessor.processAdd(FieldMutatingUpdateProcessor.java:118) > at > org.apache.solr.update.processor.UpdateRequestProcessor.processAdd(UpdateRequestProcessor.java:55) > at > org.apache.solr.update.processor.FieldMutatingUpdateProcessor.processAdd(FieldMutatingUpdateProcessor.java:118) > at > org.apache.solr.update.processor.UpdateRequestProcessor.processAdd(UpdateRequestProcessor.java:55) > at > org.apache.solr.update.processor.FieldMutatingUpdateProcessor.processAdd(FieldMutatingUpdateProcessor.java:118) > at > org.apache.solr.update.processor.UpdateRequestProcessor.processAdd(UpdateRequestProcessor.java:55) > at > org.apache.solr.update.processor.FieldNameMutatingUpdateProcessorFactory$1.processAdd(FieldNameMutatingUpdateProcessorFactory.java:75) > at > org.apache.solr.update.processor.UpdateRequestProcessor.processAdd(UpdateRequestProcessor.java:55) > at > org.apache.solr.update.processor.FieldMutatingUpdateProcessor.processAdd(FieldMutatingUpdateProcessor.java:118) > at > org.apache.solr.update.processor.UpdateRequestProcessor.processAdd(UpdateRequestProcessor.java:55) > at > org.apache.solr.update.processor.AbstractDefaultValueUpdateProcessorFactory$DefaultValueUpdateProcessor.processAdd(AbstractDefaultValueUpdateProcessorFactory.java:92) > at > org.apache.solr.handler.loader.JsonLoader$SingleThreaded
[jira] [Updated] (SOLR-11876) InPlace update fails when resolving from Tlog if schema has a required field
[ https://issues.apache.org/jira/browse/SOLR-11876?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Justin Deoliveira updated SOLR-11876: - Attachment: (was: SOLR-11876.patch) > InPlace update fails when resolving from Tlog if schema has a required field > > > Key: SOLR-11876 > URL: https://issues.apache.org/jira/browse/SOLR-11876 > Project: Solr > Issue Type: Bug > Security Level: Public(Default Security Level. Issues are Public) >Affects Versions: 7.2 > Environment: OSX High Sierra > java version "1.8.0_152" > Java(TM) SE Runtime Environment (build 1.8.0_152-b16) > Java HotSpot(TM) 64-Bit Server VM (build 25.152-b16, mixed mode) >Reporter: Justin Deoliveira >Priority: Major > > The situation is doing an in place update of a non-indexed/stored numeric doc > values field multiple times in fast succession. The schema > has a required field ("name") in it. On the third update request the update > fails complaining "missing required field: name". It seems this happens > when the update document is being resolved from from the TLog. > To reproduce: > 1. Setup a schema that has: > - A required field other than the uniquekey field, in my case it's called > "name" > - A numeric doc values field suitable for in place update (non-indexed, > non-stored), in my case it's called "likes" > 2. Execute an in place update of the document a few times in fast succession: > {noformat} > for i in `seq 10`; do > curl -X POST -H 'Content-Type: application/json' > 'http://localhost:8983/solr/core1/update' --data-binary ' > [{ > "id": "1", > "likes": { "inc": 1 } > }]' > done{noformat} > The resulting stack trace: > {noformat} > 2018-01-19 21:27:26.644 ERROR (qtp1873653341-14) [ x:core1] > o.a.s.h.RequestHandlerBase org.apache.solr.common.SolrException: [doc=1] > missing required field: name > at > org.apache.solr.update.DocumentBuilder.toDocument(DocumentBuilder.java:233) > at > org.apache.solr.handler.component.RealTimeGetComponent.toSolrDoc(RealTimeGetComponent.java:767) > at > org.apache.solr.handler.component.RealTimeGetComponent.resolveFullDocument(RealTimeGetComponent.java:423) > at > org.apache.solr.handler.component.RealTimeGetComponent.getInputDocumentFromTlog(RealTimeGetComponent.java:551) > at > org.apache.solr.handler.component.RealTimeGetComponent.getInputDocument(RealTimeGetComponent.java:609) > at > org.apache.solr.update.processor.AtomicUpdateDocumentMerger.doInPlaceUpdateMerge(AtomicUpdateDocumentMerger.java:253) > at > org.apache.solr.update.processor.DistributedUpdateProcessor.getUpdatedDocument(DistributedUpdateProcessor.java:1279) > at > org.apache.solr.update.processor.DistributedUpdateProcessor.versionAdd(DistributedUpdateProcessor.java:1008) > at > org.apache.solr.update.processor.DistributedUpdateProcessor.processAdd(DistributedUpdateProcessor.java:617) > at > org.apache.solr.update.processor.LogUpdateProcessorFactory$LogUpdateProcessor.processAdd(LogUpdateProcessorFactory.java:103) > at > org.apache.solr.update.processor.UpdateRequestProcessor.processAdd(UpdateRequestProcessor.java:55) > at > org.apache.solr.update.processor.FieldMutatingUpdateProcessor.processAdd(FieldMutatingUpdateProcessor.java:118) > at > org.apache.solr.update.processor.UpdateRequestProcessor.processAdd(UpdateRequestProcessor.java:55) > at > org.apache.solr.update.processor.FieldMutatingUpdateProcessor.processAdd(FieldMutatingUpdateProcessor.java:118) > at > org.apache.solr.update.processor.UpdateRequestProcessor.processAdd(UpdateRequestProcessor.java:55) > at > org.apache.solr.update.processor.FieldMutatingUpdateProcessor.processAdd(FieldMutatingUpdateProcessor.java:118) > at > org.apache.solr.update.processor.UpdateRequestProcessor.processAdd(UpdateRequestProcessor.java:55) > at > org.apache.solr.update.processor.FieldMutatingUpdateProcessor.processAdd(FieldMutatingUpdateProcessor.java:118) > at > org.apache.solr.update.processor.UpdateRequestProcessor.processAdd(UpdateRequestProcessor.java:55) > at > org.apache.solr.update.processor.FieldNameMutatingUpdateProcessorFactory$1.processAdd(FieldNameMutatingUpdateProcessorFactory.java:75) > at > org.apache.solr.update.processor.UpdateRequestProcessor.processAdd(UpdateRequestProcessor.java:55) > at > org.apache.solr.update.processor.FieldMutatingUpdateProcessor.processAdd(FieldMutatingUpdateProcessor.java:118) > at > org.apache.solr.update.processor.UpdateRequestProcessor.processAdd(UpdateRequestProcessor.java:55) > at > org.apache.solr.update.processor.AbstractDefaultValueUpdateProcessorFactory$DefaultValueUpdateProcessor.processAdd(AbstractDefaultValueUpdateProcessorFactory.java:92) > at > org.apache.solr.handler.loader.JsonLoader$SingleThreadedJsonLoader.handleAdds(JsonLoade
[jira] [Updated] (SOLR-11876) InPlace update fails when resolving from Tlog if schema has a required field
[ https://issues.apache.org/jira/browse/SOLR-11876?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Justin Deoliveira updated SOLR-11876: - Attachment: SOLR-11876.patch > InPlace update fails when resolving from Tlog if schema has a required field > > > Key: SOLR-11876 > URL: https://issues.apache.org/jira/browse/SOLR-11876 > Project: Solr > Issue Type: Bug > Security Level: Public(Default Security Level. Issues are Public) >Affects Versions: 7.2 > Environment: OSX High Sierra > java version "1.8.0_152" > Java(TM) SE Runtime Environment (build 1.8.0_152-b16) > Java HotSpot(TM) 64-Bit Server VM (build 25.152-b16, mixed mode) >Reporter: Justin Deoliveira >Priority: Major > Attachments: SOLR-11876.patch > > > The situation is doing an in place update of a non-indexed/stored numeric doc > values field multiple times in fast succession. The schema > has a required field ("name") in it. On the third update request the update > fails complaining "missing required field: name". It seems this happens > when the update document is being resolved from from the TLog. > To reproduce: > 1. Setup a schema that has: > - A required field other than the uniquekey field, in my case it's called > "name" > - A numeric doc values field suitable for in place update (non-indexed, > non-stored), in my case it's called "likes" > 2. Execute an in place update of the document a few times in fast succession: > {noformat} > for i in `seq 10`; do > curl -X POST -H 'Content-Type: application/json' > 'http://localhost:8983/solr/core1/update' --data-binary ' > [{ > "id": "1", > "likes": { "inc": 1 } > }]' > done{noformat} > The resulting stack trace: > {noformat} > 2018-01-19 21:27:26.644 ERROR (qtp1873653341-14) [ x:core1] > o.a.s.h.RequestHandlerBase org.apache.solr.common.SolrException: [doc=1] > missing required field: name > at > org.apache.solr.update.DocumentBuilder.toDocument(DocumentBuilder.java:233) > at > org.apache.solr.handler.component.RealTimeGetComponent.toSolrDoc(RealTimeGetComponent.java:767) > at > org.apache.solr.handler.component.RealTimeGetComponent.resolveFullDocument(RealTimeGetComponent.java:423) > at > org.apache.solr.handler.component.RealTimeGetComponent.getInputDocumentFromTlog(RealTimeGetComponent.java:551) > at > org.apache.solr.handler.component.RealTimeGetComponent.getInputDocument(RealTimeGetComponent.java:609) > at > org.apache.solr.update.processor.AtomicUpdateDocumentMerger.doInPlaceUpdateMerge(AtomicUpdateDocumentMerger.java:253) > at > org.apache.solr.update.processor.DistributedUpdateProcessor.getUpdatedDocument(DistributedUpdateProcessor.java:1279) > at > org.apache.solr.update.processor.DistributedUpdateProcessor.versionAdd(DistributedUpdateProcessor.java:1008) > at > org.apache.solr.update.processor.DistributedUpdateProcessor.processAdd(DistributedUpdateProcessor.java:617) > at > org.apache.solr.update.processor.LogUpdateProcessorFactory$LogUpdateProcessor.processAdd(LogUpdateProcessorFactory.java:103) > at > org.apache.solr.update.processor.UpdateRequestProcessor.processAdd(UpdateRequestProcessor.java:55) > at > org.apache.solr.update.processor.FieldMutatingUpdateProcessor.processAdd(FieldMutatingUpdateProcessor.java:118) > at > org.apache.solr.update.processor.UpdateRequestProcessor.processAdd(UpdateRequestProcessor.java:55) > at > org.apache.solr.update.processor.FieldMutatingUpdateProcessor.processAdd(FieldMutatingUpdateProcessor.java:118) > at > org.apache.solr.update.processor.UpdateRequestProcessor.processAdd(UpdateRequestProcessor.java:55) > at > org.apache.solr.update.processor.FieldMutatingUpdateProcessor.processAdd(FieldMutatingUpdateProcessor.java:118) > at > org.apache.solr.update.processor.UpdateRequestProcessor.processAdd(UpdateRequestProcessor.java:55) > at > org.apache.solr.update.processor.FieldMutatingUpdateProcessor.processAdd(FieldMutatingUpdateProcessor.java:118) > at > org.apache.solr.update.processor.UpdateRequestProcessor.processAdd(UpdateRequestProcessor.java:55) > at > org.apache.solr.update.processor.FieldNameMutatingUpdateProcessorFactory$1.processAdd(FieldNameMutatingUpdateProcessorFactory.java:75) > at > org.apache.solr.update.processor.UpdateRequestProcessor.processAdd(UpdateRequestProcessor.java:55) > at > org.apache.solr.update.processor.FieldMutatingUpdateProcessor.processAdd(FieldMutatingUpdateProcessor.java:118) > at > org.apache.solr.update.processor.UpdateRequestProcessor.processAdd(UpdateRequestProcessor.java:55) > at > org.apache.solr.update.processor.AbstractDefaultValueUpdateProcessorFactory$DefaultValueUpdateProcessor.processAdd(AbstractDefaultValueUpdateProcessorFactory.java:92) > at > org.apache.solr.handler.loader.JsonLoader$SingleThreaded
[jira] [Created] (SOLR-11876) InPlace update fails when resolving from Tlog if schema has a required field
Justin Deoliveira created SOLR-11876: Summary: InPlace update fails when resolving from Tlog if schema has a required field Key: SOLR-11876 URL: https://issues.apache.org/jira/browse/SOLR-11876 Project: Solr Issue Type: Bug Security Level: Public (Default Security Level. Issues are Public) Affects Versions: 7.2 Environment: OSX High Sierra java version "1.8.0_152" Java(TM) SE Runtime Environment (build 1.8.0_152-b16) Java HotSpot(TM) 64-Bit Server VM (build 25.152-b16, mixed mode) Reporter: Justin Deoliveira The situation is doing an in place update of a non-indexed/stored numeric doc values field multiple times in fast succession. The schema has a required field ("name") in it. On the third update request the update fails complaining "missing required field: name". It seems this happens when the update document is being resolved from from the TLog. To reproduce: 1. Setup a schema that has: - A required field other than the uniquekey field, in my case it's called "name" - A numeric doc values field suitable for in place update (non-indexed, non-stored), in my case it's called "likes" 2. Execute an in place update of the document a few times in fast succession: {noformat} for i in `seq 10`; do curl -X POST -H 'Content-Type: application/json' 'http://localhost:8983/solr/core1/update' --data-binary ' [{ "id": "1", "likes": { "inc": 1 } }]' done{noformat} The resulting stack trace: {noformat} 2018-01-19 21:27:26.644 ERROR (qtp1873653341-14) [ x:core1] o.a.s.h.RequestHandlerBase org.apache.solr.common.SolrException: [doc=1] missing required field: name at org.apache.solr.update.DocumentBuilder.toDocument(DocumentBuilder.java:233) at org.apache.solr.handler.component.RealTimeGetComponent.toSolrDoc(RealTimeGetComponent.java:767) at org.apache.solr.handler.component.RealTimeGetComponent.resolveFullDocument(RealTimeGetComponent.java:423) at org.apache.solr.handler.component.RealTimeGetComponent.getInputDocumentFromTlog(RealTimeGetComponent.java:551) at org.apache.solr.handler.component.RealTimeGetComponent.getInputDocument(RealTimeGetComponent.java:609) at org.apache.solr.update.processor.AtomicUpdateDocumentMerger.doInPlaceUpdateMerge(AtomicUpdateDocumentMerger.java:253) at org.apache.solr.update.processor.DistributedUpdateProcessor.getUpdatedDocument(DistributedUpdateProcessor.java:1279) at org.apache.solr.update.processor.DistributedUpdateProcessor.versionAdd(DistributedUpdateProcessor.java:1008) at org.apache.solr.update.processor.DistributedUpdateProcessor.processAdd(DistributedUpdateProcessor.java:617) at org.apache.solr.update.processor.LogUpdateProcessorFactory$LogUpdateProcessor.processAdd(LogUpdateProcessorFactory.java:103) at org.apache.solr.update.processor.UpdateRequestProcessor.processAdd(UpdateRequestProcessor.java:55) at org.apache.solr.update.processor.FieldMutatingUpdateProcessor.processAdd(FieldMutatingUpdateProcessor.java:118) at org.apache.solr.update.processor.UpdateRequestProcessor.processAdd(UpdateRequestProcessor.java:55) at org.apache.solr.update.processor.FieldMutatingUpdateProcessor.processAdd(FieldMutatingUpdateProcessor.java:118) at org.apache.solr.update.processor.UpdateRequestProcessor.processAdd(UpdateRequestProcessor.java:55) at org.apache.solr.update.processor.FieldMutatingUpdateProcessor.processAdd(FieldMutatingUpdateProcessor.java:118) at org.apache.solr.update.processor.UpdateRequestProcessor.processAdd(UpdateRequestProcessor.java:55) at org.apache.solr.update.processor.FieldMutatingUpdateProcessor.processAdd(FieldMutatingUpdateProcessor.java:118) at org.apache.solr.update.processor.UpdateRequestProcessor.processAdd(UpdateRequestProcessor.java:55) at org.apache.solr.update.processor.FieldNameMutatingUpdateProcessorFactory$1.processAdd(FieldNameMutatingUpdateProcessorFactory.java:75) at org.apache.solr.update.processor.UpdateRequestProcessor.processAdd(UpdateRequestProcessor.java:55) at org.apache.solr.update.processor.FieldMutatingUpdateProcessor.processAdd(FieldMutatingUpdateProcessor.java:118) at org.apache.solr.update.processor.UpdateRequestProcessor.processAdd(UpdateRequestProcessor.java:55) at org.apache.solr.update.processor.AbstractDefaultValueUpdateProcessorFactory$DefaultValueUpdateProcessor.processAdd(AbstractDefaultValueUpdateProcessorFactory.java:92) at org.apache.solr.handler.loader.JsonLoader$SingleThreadedJsonLoader.handleAdds(JsonLoader.java:501) at org.apache.solr.handler.loader.JsonLoader$SingleThreadedJsonLoader.processUpdate(JsonLoader.java:145) at org.apache.solr.handler.loader.JsonLoader$SingleThreadedJsonLoader.load(JsonLoader.java:121) at org.apache.solr.handler.loader.JsonLoader.load(JsonLoader.java:84) at org.apache.solr.handler.UpdateRequestHandler$1.load(UpdateRequestHandler.java:97) at org.apache.solr.handler.ContentStreamHan
[jira] [Commented] (SOLR-5944) Support updates of numeric DocValues
[ https://issues.apache.org/jira/browse/SOLR-5944?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15252850#comment-15252850 ] Justin Deoliveira commented on SOLR-5944: - I've been following this patch for a while, and am super excited about recent progress. I just applied the latest patch locally and built with maven and it resulted in some forbidden api failures. I don't know of this helps but here is a minor [patch|https://gist.githubusercontent.com/jdeolive/5b56848603fe5cbac804cd5acb8ebcd2/raw/35b3a3150c652738713618e7d8fcf7bd6cf3e0e6/forbiddenapis.patch] that addresses them. > Support updates of numeric DocValues > > > Key: SOLR-5944 > URL: https://issues.apache.org/jira/browse/SOLR-5944 > Project: Solr > Issue Type: New Feature >Reporter: Ishan Chattopadhyaya >Assignee: Shalin Shekhar Mangar > Attachments: DUP.patch, SOLR-5944.patch, SOLR-5944.patch, > SOLR-5944.patch, SOLR-5944.patch, SOLR-5944.patch, SOLR-5944.patch, > SOLR-5944.patch, SOLR-5944.patch, SOLR-5944.patch, SOLR-5944.patch, > SOLR-5944.patch, SOLR-5944.patch, SOLR-5944.patch, SOLR-5944.patch, > SOLR-5944.patch, SOLR-5944.patch, SOLR-5944.patch, SOLR-5944.patch, > SOLR-5944.patch, SOLR-5944.patch, SOLR-5944.patch, SOLR-5944.patch, > SOLR-5944.patch > > > LUCENE-5189 introduced support for updates to numeric docvalues. It would be > really nice to have Solr support this. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org