2

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

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.