From dev-return-358831-archive-asf-public=cust-asf.ponee.io@lucene.apache.org Wed Jun 12 19:05:19 2019 Return-Path: X-Original-To: archive-asf-public@cust-asf.ponee.io Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [207.244.88.153]) by mx-eu-01.ponee.io (Postfix) with SMTP id CAFFC18061A for ; Wed, 12 Jun 2019 21:05:18 +0200 (CEST) Received: (qmail 80964 invoked by uid 500); 12 Jun 2019 19:05:17 -0000 Mailing-List: contact dev-help@lucene.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@lucene.apache.org Delivered-To: mailing list dev@lucene.apache.org Received: (qmail 80954 invoked by uid 99); 12 Jun 2019 19:05:17 -0000 Received: from mailrelay1-us-west.apache.org (HELO mailrelay1-us-west.apache.org) (209.188.14.139) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 12 Jun 2019 19:05:17 +0000 Received: from jira-lw-us.apache.org (unknown [207.244.88.139]) by mailrelay1-us-west.apache.org (ASF Mail Server at mailrelay1-us-west.apache.org) with ESMTP id 8CC20E2D7E for ; Wed, 12 Jun 2019 19:05:06 +0000 (UTC) Received: from jira-lw-us.apache.org (localhost [127.0.0.1]) by jira-lw-us.apache.org (ASF Mail Server at jira-lw-us.apache.org) with ESMTP id 472EE24643 for ; Wed, 12 Jun 2019 19:05:00 +0000 (UTC) Date: Wed, 12 Jun 2019 19:05:00 +0000 (UTC) From: =?utf-8?Q?J=C3=B6rn_Franke_=28JIRA=29?= To: dev@lucene.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (SOLR-13523) Atomic Update results in NullPointerException MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/SOLR-13523?page=3Dcom.atlassian= .jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=3D1686= 2379#comment-16862379 ]=20 J=C3=B6rn Franke commented on SOLR-13523: ------------------------------------ [~dsmiley] thank you for the hint. Indeed removing __nest_path__ worked in = our case and we do not need it for that specific case. [~moshebla] thanks a lot for the quick fixing > Atomic Update results in NullPointerException > --------------------------------------------- > > Key: SOLR-13523 > URL: https://issues.apache.org/jira/browse/SOLR-13523 > Project: Solr > Issue Type: Bug > Components: JSON Request API, update > Affects Versions: 8.0 > Environment: * Operating system: Win10 v1803 build 17143.766 > * Java version: > java 11.0.1 2018-10-16 LTS > Java(TM) SE Runtime Environment 18.9 (build 11.0.1+13-LTS) > Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.1+13-LTS, mixed mode) > * solr-spec: 8.1.1 > * solr-impl: 8.1.1 fcbe46c28cef11bc058779afba09521de1b19bef - ab - 2019-= 05-22 15:20:01 > * lucene-spec: 8.1.1 > * lucene-impl: 8.1.1 fcbe46c28cef11bc058779afba09521de1b19bef - ab - 201= 9-05-22 15:15:24 > Reporter: Kieran Devlin > Priority: Major > Attachments: SOLR-13523.patch, SOLR-13523_WIP_bug_hunt.patch, XUB= rk.png, Xn1RW.png, reproduce.sh > > > Partially update a document via an atomic update, when I do so, the web s= ever responds with a 500 status with the stack trace: > {code:java} > { "responseHeader":{ "status":500, "QTime":1}, "error":{ "trace":"java.la= ng.NullPointerException\r\n\tat org.apache.solr.update.processor.AtomicUpda= teDocumentMerger.getFieldFromHierarchy(AtomicUpdateDocumentMerger.java:301)= \r\n\tat org.apache.solr.update.processor.AtomicUpdateDocumentMerger.mergeC= hildDoc(AtomicUpdateDocumentMerger.java:398)\r\n\tat org.apache.solr.update= .processor.DistributedUpdateProcessor.getUpdatedDocument(DistributedUpdateP= rocessor.java:697)\r\n\tat org.apache.solr.update.processor.DistributedUpda= teProcessor.doVersionAdd(DistributedUpdateProcessor.java:372)\r\n\tat org.a= pache.solr.update.processor.DistributedUpdateProcessor.lambda$versionAdd$0(= DistributedUpdateProcessor.java:337)\r\n\tat org.apache.solr.update.Version= Bucket.runWithLock(VersionBucket.java:50)\r\n\tat org.apache.solr.update.pr= ocessor.DistributedUpdateProcessor.versionAdd(DistributedUpdateProcessor.ja= va:337)\r\n\tat org.apache.solr.update.processor.DistributedUpdateProcessor= .processAdd(DistributedUpdateProcessor.java:223)\r\n\tat org.apache.solr.up= date.processor.LogUpdateProcessorFactory$LogUpdateProcessor.processAdd(LogU= pdateProcessorFactory.java:103)\r\n\tat org.apache.solr.update.processor.Up= dateRequestProcessor.processAdd(UpdateRequestProcessor.java:55)\r\n\tat org= .apache.solr.update.processor.AddSchemaFieldsUpdateProcessorFactory$AddSche= maFieldsUpdateProcessor.processAdd(AddSchemaFieldsUpdateProcessorFactory.ja= va:475)\r\n\tat org.apache.solr.update.processor.UpdateRequestProcessor.pro= cessAdd(UpdateRequestProcessor.java:55)\r\n\tat org.apache.solr.update.proc= essor.FieldMutatingUpdateProcessor.processAdd(FieldMutatingUpdateProcessor.= java:118)\r\n\tat org.apache.solr.update.processor.UpdateRequestProcessor.p= rocessAdd(UpdateRequestProcessor.java:55)\r\n\tat org.apache.solr.update.pr= ocessor.FieldMutatingUpdateProcessor.processAdd(FieldMutatingUpdateProcesso= r.java:118)\r\n\tat org.apache.solr.update.processor.UpdateRequestProcessor= .processAdd(UpdateRequestProcessor.java:55)\r\n\tat org.apache.solr.update.= processor.FieldMutatingUpdateProcessor.processAdd(FieldMutatingUpdateProces= sor.java:118)\r\n\tat org.apache.solr.update.processor.UpdateRequestProcess= or.processAdd(UpdateRequestProcessor.java:55)\r\n\tat org.apache.solr.updat= e.processor.FieldMutatingUpdateProcessor.processAdd(FieldMutatingUpdateProc= essor.java:118)\r\n\tat org.apache.solr.update.processor.UpdateRequestProce= ssor.processAdd(UpdateRequestProcessor.java:55)\r\n\tat org.apache.solr.upd= ate.processor.FieldNameMutatingUpdateProcessorFactory$1.processAdd(FieldNam= eMutatingUpdateProcessorFactory.java:75)\r\n\tat org.apache.solr.update.pro= cessor.UpdateRequestProcessor.processAdd(UpdateRequestProcessor.java:55)\r\= n\tat org.apache.solr.update.processor.FieldMutatingUpdateProcessor.process= Add(FieldMutatingUpdateProcessor.java:118)\r\n\tat org.apache.solr.update.p= rocessor.UpdateRequestProcessor.processAdd(UpdateRequestProcessor.java:55)\= r\n\tat org.apache.solr.update.processor.AbstractDefaultValueUpdateProcesso= rFactory$DefaultValueUpdateProcessor.processAdd(AbstractDefaultValueUpdateP= rocessorFactory.java:92)\r\n\tat org.apache.solr.handler.loader.JsonLoader$= SingleThreadedJsonLoader.handleAdds(JsonLoader.java:507)\r\n\tat org.apache= .solr.handler.loader.JsonLoader$SingleThreadedJsonLoader.processUpdate(Json= Loader.java:145)\r\n\tat org.apache.solr.handler.loader.JsonLoader$SingleTh= readedJsonLoader.load(JsonLoader.java:121)\r\n\tat org.apache.solr.handler.= loader.JsonLoader.load(JsonLoader.java:84)\r\n\tat org.apache.solr.handler.= UpdateRequestHandler$1.load(UpdateRequestHandler.java:97)\r\n\tat org.apach= e.solr.handler.ContentStreamHandlerBase.handleRequestBody(ContentStreamHand= lerBase.java:68)\r\n\tat org.apache.solr.handler.RequestHandlerBase.handleR= equest(RequestHandlerBase.java:199)\r\n\tat org.apache.solr.core.SolrCore.e= xecute(SolrCore.java:2566)\r\n\tat org.apache.solr.servlet.HttpSolrCall.exe= cute(HttpSolrCall.java:756)\r\n\tat org.apache.solr.servlet.HttpSolrCall.ca= ll(HttpSolrCall.java:542)\r\n\tat org.apache.solr.servlet.SolrDispatchFilte= r.doFilter(SolrDispatchFilter.java:397)\r\n\tat org.apache.solr.servlet.Sol= rDispatchFilter.doFilter(SolrDispatchFilter.java:343)\r\n\tat org.eclipse.j= etty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1602)\= r\n\tat org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.ja= va:540)\r\n\tat org.eclipse.jetty.server.handler.ScopedHandler.handle(Scope= dHandler.java:146)\r\n\tat org.eclipse.jetty.security.SecurityHandler.handl= e(SecurityHandler.java:548)\r\n\tat org.eclipse.jetty.server.handler.Handle= rWrapper.handle(HandlerWrapper.java:132)\r\n\tat org.eclipse.jetty.server.h= andler.ScopedHandler.nextHandle(ScopedHandler.java:257)\r\n\tat org.eclipse= .jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1588)\r\n= \tat org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandle= r.java:255)\r\n\tat org.eclipse.jetty.server.handler.ContextHandler.doHandl= e(ContextHandler.java:1345)\r\n\tat org.eclipse.jetty.server.handler.Scoped= Handler.nextScope(ScopedHandler.java:203)\r\n\tat org.eclipse.jetty.servlet= .ServletHandler.doScope(ServletHandler.java:480)\r\n\tat org.eclipse.jetty.= server.session.SessionHandler.doScope(SessionHandler.java:1557)\r\n\tat org= .eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:20= 1)\r\n\tat org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextH= andler.java:1247)\r\n\tat org.eclipse.jetty.server.handler.ScopedHandler.ha= ndle(ScopedHandler.java:144)\r\n\tat org.eclipse.jetty.server.handler.Conte= xtHandlerCollection.handle(ContextHandlerCollection.java:220)\r\n\tat org.e= clipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java= :126)\r\n\tat org.eclipse.jetty.server.handler.HandlerWrapper.handle(Handle= rWrapper.java:132)\r\n\tat org.eclipse.jetty.rewrite.handler.RewriteHandler= .handle(RewriteHandler.java:335)\r\n\tat org.eclipse.jetty.server.handler.H= andlerWrapper.handle(HandlerWrapper.java:132)\r\n\tat org.eclipse.jetty.ser= ver.Server.handle(Server.java:502)\r\n\tat org.eclipse.jetty.server.HttpCha= nnel.handle(HttpChannel.java:364)\r\n\tat org.eclipse.jetty.server.HttpConn= ection.onFillable(HttpConnection.java:260)\r\n\tat org.eclipse.jetty.io.Abs= tractConnection$ReadCallback.succeeded(AbstractConnection.java:305)\r\n\tat= org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)\r\n\tat = org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)\r\n\ta= t org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouK= ill.java:333)\r\n\tat org.eclipse.jetty.util.thread.strategy.EatWhatYouKill= .doProduce(EatWhatYouKill.java:310)\r\n\tat org.eclipse.jetty.util.thread.s= trategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)\r\n\tat org.ecli= pse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)\= r\n\tat org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread= .run(ReservedThreadExecutor.java:366)\r\n\tat org.eclipse.jetty.util.thread= .QueuedThreadPool.runJob(QueuedThreadPool.java:765)\r\n\tat org.eclipse.jet= ty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)\r\n\tat ja= va.base/java.lang.Thread.run(Thread.java:834)\r\n", "code":500}}{code} > Steps to reproduce: > # Start a new clean instance of Solr. > # Create a new core. > # Add a new document with the following data (in development mode Solr s= hould create fields automatically) using Solr Admin's document upload tool. > {code:java} > { "id": "1", "network_s": "original value" }=C2=A0{code} > !XUBrk.png! > # Then proceed to upload a new JSON command to update the previously upl= oaded document. > {code:java} > [{"id": "1", "network_s": {"set":"Something else"}}]{code} > !Xn1RW.png! > =C2=A0 -- This message was sent by Atlassian JIRA (v7.6.3#76005) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org For additional commands, e-mail: dev-help@lucene.apache.org