We're using a basic DD4T 2 project to test XPM integration - so far so good, XPM loads, content areas are highlighted and editable, session preview appears to be working (as far as I understand how its supposed to work!).

However, intermittantly when I click Finish Editing and after XPM's Loading spinner disappears I'm presented with a 404 inside XPM.

In my DD4T log I can see the following, indicating the page wasn't returned from CIL:

finished loading page content from provider with url /test-dnp/jw-test/simple-page.html, has value: False

I checked my CIL log to find this:

2018-03-05 15:19:55 WARN [Sdl.Web.Delivery.Broker.Querying.QueryImpl.ExecuteQuery] - Problem executing query.
        EXCEPTION:
        Sdl.Web.Delivery.Service.ServiceQueryException: Failed to execute query ---> Microsoft.OData.Client.DataServiceQueryException: An error occurred while processing this request. ---> Microsoft.OData.Client.DataServiceClientException: {"error":{"code":"9000","message":"java.lang.NullPointerException: null"}}
           at Microsoft.OData.Client.QueryResult.ExecuteQuery()
           at Microsoft.OData.Client.DataServiceRequest.Execute[TElement](DataServiceContext context, QueryComponents queryComponents)
           --- End of inner exception stack trace ---
           at Microsoft.OData.Client.DataServiceRequest.Execute[TElement](DataServiceContext context, QueryComponents queryComponents)
           at Microsoft.OData.Client.DataServiceContext.InnerSynchExecute[TElement](Uri requestUri, String httpMethod, Nullable`1 singleResult, OperationParameter[] operationParameters)
           at Microsoft.OData.Client.DataServiceContext.Execute[TElement](Uri requestUri, String httpMethod, OperationParameter[] operationParameters)
           at Sdl.Web.Delivery.Service.ODataV4Service.<>c__DisplayClass17_1`1.<Execute>b__1()
           at Sdl.Web.Delivery.Service.ODataV4Service.<>c__DisplayClass17_0`1.<Execute>b__0()
           --- End of inner exception stack trace ---
           at Sdl.Web.Delivery.Service.AbstractODataService.HandleHttpResponseCode(Exception e, Int32 statusCode)
           at Sdl.Web.Delivery.Service.ODataV4Service.<>c__DisplayClass17_0`1.<Execute>b__0()
           at Sdl.Web.Delivery.Service.Utils.PerformRetry[T](Func`1 block, Int32 retryCount)
           at Sdl.Web.Delivery.Service.Utils.Retry[T](Func`1 block, Int32 retryCount, Boolean locking)
           at Sdl.Web.Delivery.Broker.Querying.QueryImpl.DoExecuteQuery(ODataV4ClientAction action)
           at Sdl.Web.Delivery.Broker.Querying.QueryImpl.ExecuteQuery()

And in my cd_core log for the content service I found this:

2018-03-05 14:07:18,943 ERROR ODataRendererActor - Unexpected exception during response rendering - java.lang.NullPointerException: 'null'
java.lang.NullPointerException: null
    at com.sdl.web.content.odata.action.ExecuteQueryAction.getTCMURIString(ExecuteQueryAction.java:120)
    at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
    at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1374)
    at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
    at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
    at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
    at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
    at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499)
    at com.sdl.web.content.odata.action.ExecuteQueryAction.doContentServiceOperation(ExecuteQueryAction.java:115)
    at com.sdl.web.content.odata.action.ExecuteQueryAction.doContentServiceOperation(ExecuteQueryAction.java:47)
    at com.sdl.web.content.odata.ContentServiceOperation.doOperation(ContentServiceOperation.java:36)
    at com.sdl.odata.processor.write.ActionPostMethodHandler.handleWrite(ActionPostMethodHandler.java:54)
    at com.sdl.odata.processor.ODataWriteProcessorImpl.write(ODataWriteProcessorImpl.java:57)
    at com.sdl.odata.service.actor.ODataWriteProcessorActor$$anonfun$receive$1.applyOrElse(ODataWriteProcessorActor.scala:33)
    at akka.actor.Actor$class.aroundReceive(Actor.scala:480)
    at com.sdl.odata.service.actor.ODataWriteProcessorActor.aroundReceive(ODataWriteProcessorActor.scala:28)
    at akka.actor.ActorCell.receiveMessage(ActorCell.scala:526)
    at akka.actor.ActorCell.invoke(ActorCell.scala:495)
    at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:257)
    at akka.dispatch.Mailbox.run(Mailbox.scala:224)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)

I've checked whats being passed in Fiddler and when my page intially loads, I see a call to http://xxxxx.eu-west-1.elb.amazonaws.com:8081/client/v4/content.svc/ExecuteQueryActionImport that returns my page id:

HTTP/1.1 201
Date: Mon, 05 Mar 2018 15:19:00 GMT
Content-Type: application/json
Connection: keep-alive
Set-Cookie: JSESSIONID=6AEA47E158AFBB464BA6428472A87600; Path=/; HttpOnly
Set-Cookie: TAFSessionId=tridion_9e4c4e29-3bf2-4eda-bfa9-a1593fee3a0b; path=/; HttpOnly
Set-Cookie: TAFTrackingId=tridion_40e86dbd-6b98-4b06-9234-ee25172fc8ab; Expires=Fri, 01-Jan-2100 00:00:00 GMT; path=/; HttpOnly
X-Application-Context: application:8081
OData-Version: 4.0
X-SDL-CIS-Version: 8.5.0.1057
Content-Length: 173

{"@odata.context":"http://xxxxx.eu-west-1.elb.amazonaws.com:8081/client/v4/content.svc/$metadata#Edm.String","value":"[\"tcm:295-401580-64\"]"}

But when I get the 404 the same call returns:

HTTP/1.1 500
Date: Mon, 05 Mar 2018 15:19:56 GMT
Content-Type: application/json
Connection: keep-alive
Set-Cookie: JSESSIONID=7AB5B7D365CC74D3BF69DDE5EDAD19DA; Path=/; HttpOnly
Set-Cookie: TAFSessionId=tridion_f266da99-b653-4545-88bd-666a637dad12; path=/; HttpOnly
Set-Cookie: TAFTrackingId=tridion_2d94600d-8630-4ef6-8c83-82a4809619de; Expires=Fri, 01-Jan-2100 00:00:00 GMT; path=/; HttpOnly
X-Application-Context: application:8081
OData-Version: 4.0
Content-Language: en
X-SDL-CIS-Version: 8.5.0.1057
Content-Length: 74

{"error":{"code":"9000","message":"java.lang.NullPointerException: null"}}

So this issue must be on the CIS side in the content service (there's only one play, no LB-setup) right?

Why would the service work once then shortly after, not?

Cheers

Your Answer

 

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Browse other questions tagged or ask your own question.