Uploaded image for project: 'Service Orchestrator'
  1. Service Orchestrator
  2. SO-1223

Failure to retrieve variable instance information in SO-Monitoring

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Medium Medium
    • Casablanca Release
    • Casablanca Release
    • None

      When user performs drill down on a "Failed" service instance in SO-Monitoring, no variable instance information is returned and a 500 error code is attached.

       

      Below exception is thrown in the UI logs:

       

      error: "Internal Server Error"​exception: "org.springframework.http.converter.HttpMessageNotReadableException"​message: "JSON parse error: Unexpected character ('}' (code 125)): was expecting a colon to separate field name and value\n at [Source: java.io.PushbackInputStream@4279a9d6; line: 1, column: 18557]; nested exception is com.fasterxml.jackson.databind.JsonMappingException: Unexpected character ('}' (code 125)): was expecting a colon to separate field name and value\n at [Source: java.io.PushbackInputStream@4279a9d6; line: 1, column: 18557]\n at [Source: java.io.PushbackInputStream@4279a9d6; line: 1, column: 18549] (through reference chain: java.lang.Object[][28])"​path: "/so/monitoring/variable-instance/52ab2ee4-e809-11e8-86bc-0290716766fe"​status: 500​timestamp: 1542368451482​<prototype>: Object { … }
      

       

       

      The SO-Monitoring backend retrieved a variable instance data from the Camunda engine using the below URL:

       

      curl -H "Authorization: Basic YXBpaEJwbW46cGFzc3dvcmQxJA=="  http://so-bpmn-infra.onap:8081/sobpmnengine/engine/default/history/variable-instance?processInstanceId=52ab2ee4-e809-11e8-86bc-0290716766fe
      

       

       

      The output of the above curl command is:

       

      [   {  
            "type":"Boolean",
            "value":true,
            "valueInfo":{  
      
            },
            "id":"52b51a2b-e809-11e8-86bc-0290716766fe",
            "name":"CVFMI_sentSyncResponse",
            "processDefinitionKey":"CreateVfModuleInfra",
            "processDefinitionId":"CreateVfModuleInfra:2:09827230-e268-11e8-8f11-0290710fa846",
            "processInstanceId":"52ab2ee4-e809-11e8-86bc-0290716766fe",
            "executionId":"52ab2ee4-e809-11e8-86bc-0290716766fe",
            "activityInstanceId":"52ab2ee4-e809-11e8-86bc-0290716766fe",
            "caseDefinitionKey":null,
            "caseDefinitionId":null,
            "caseInstanceId":null,
            "caseExecutionId":null,
            "taskId":null,
            "errorMessage":null,
            "tenantId":null,
            "state":"CREATED"
         },
         {  
            "type":"String",
            "value":"CVFMI_",
            "valueInfo":{  
      
            },
            "id":"52b51a2d-e809-11e8-86bc-0290716766fe",
            "name":"prefix",
            "processDefinitionKey":"CreateVfModuleInfra",
            "processDefinitionId":"CreateVfModuleInfra:2:09827230-e268-11e8-8f11-0290710fa846",
            "processInstanceId":"52ab2ee4-e809-11e8-86bc-0290716766fe",
            "executionId":"52ab2ee4-e809-11e8-86bc-0290716766fe",
            "activityInstanceId":"52ab2ee4-e809-11e8-86bc-0290716766fe",
            "caseDefinitionKey":null,
            "caseDefinitionId":null,
            "caseInstanceId":null,
            "caseExecutionId":null,
            "taskId":null,
            "errorMessage":null,
            "tenantId":null,
            "state":"CREATED"
         },
         {  
            "type":"String",
            "value":"true",
            "valueInfo":{  
      
            },
            "id":"52b51a2f-e809-11e8-86bc-0290716766fe",
            "name":"isVidRequest",
            "processDefinitionKey":"CreateVfModuleInfra",
            "processDefinitionId":"CreateVfModuleInfra:2:09827230-e268-11e8-8f11-0290710fa846",
            "processInstanceId":"52ab2ee4-e809-11e8-86bc-0290716766fe",
            "executionId":"52ab2ee4-e809-11e8-86bc-0290716766fe",
            "activityInstanceId":"52ab2ee4-e809-11e8-86bc-0290716766fe",
            "caseDefinitionKey":null,
            "caseDefinitionId":null,
            "caseInstanceId":null,
            "caseExecutionId":null,
            "taskId":null,
            "errorMessage":null,
            "tenantId":null,
            "state":"CREATED"
         },
         {  
            "type":"Object",
            "value"
         }
      ]

       

      As it can be seen above, the last object in the JSON string is invalid, coming back from the Camunda engine. This results in the following exception:

       

       

      2018-11-16T10:22:38.385Z|| o.a.c.c.C.[.[.[.[.o.s.m.r.api.JerseyConfiguration] - Servlet.service() for servlet [org.onap.so.monitoring.rest.api.JerseyConfiguration] in context with path [] threw exception [org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Unexpected character ('}' (code 125)): was expecting a colon to separate field name and value2018-11-16T10:22:38.385Z|| o.a.c.c.C.[.[.[.[.o.s.m.r.api.JerseyConfiguration] - Servlet.service() for servlet [org.onap.so.monitoring.rest.api.JerseyConfiguration] in context with path [] threw exception [org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Unexpected character ('}' (code 125)): was expecting a colon to separate field name and value at [Source: java.io.PushbackInputStream@7b1d411a; line: 1, column: 18557]; nested exception is com.fasterxml.jackson.databind.JsonMappingException: Unexpected character ('}' (code 125)): was expecting a colon to separate field name and value at [Source: java.io.PushbackInputStream@7b1d411a; line: 1, column: 18557] at [Source: java.io.PushbackInputStream@7b1d411a; line: 1, column: 18549] (through reference chain: java.lang.Object[][28])] with root causecom.fasterxml.jackson.core.JsonParseException: Unexpected character ('}' (code 125)): was expecting a colon to separate field name and value at [Source: java.io.PushbackInputStream@7b1d411a; line: 1, column: 18557] at com.fasterxml.jackson.core.JsonParser._constructError(JsonParser.java:1702) at com.fasterxml.jackson.core.base.ParserMinimalBase._reportError(ParserMinimalBase.java:558) at com.fasterxml.jackson.core.base.ParserMinimalBase._reportUnexpectedChar(ParserMinimalBase.java:456) at com.fasterxml.jackson.core.json.UTF8StreamJsonParser._skipColon2(UTF8StreamJsonParser.java:3080) at com.fasterxml.jackson.core.json.UTF8StreamJsonParser._skipColon(UTF8StreamJsonParser.java:3009) at com.fasterxml.jackson.core.json.UTF8StreamJsonParser.nextFieldName(UTF8StreamJsonParser.java:1057) at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:364) at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:148) at com.fasterxml.jackson.databind.deser.std.ObjectArrayDeserializer.deserialize(ObjectArrayDeserializer.java:196) at com.fasterxml.jackson.databind.deser.std.ObjectArrayDeserializer.deserialize(ObjectArrayDeserializer.java:20) at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:3814) at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:2938) at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.readJavaType(AbstractJackson2HttpMessageConverter.java:235) at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.read(AbstractJackson2HttpMessageConverter.java:223) at org.springframework.web.client.HttpMessageConverterExtractor.extractData(HttpMessageConverterExtractor.java:96) at org.springframework.web.client.RestTemplate$ResponseEntityResponseExtractor.extractData(RestTemplate.java:932) at org.springframework.web.client.RestTemplate$ResponseEntityResponseExtractor.extractData(RestTemplate.java:916) at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:663) at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:621) at org.springframework.web.client.RestTemplate.exchange(RestTemplate.java:539) at org.onap.so.montoring.rest.service.HttpRestServiceProviderImpl.getHttpResponse(HttpRestServiceProviderImpl.java:53) at org.onap.so.montoring.rest.service.CamundaProcessDataServiceProviderImpl.getProcessInstanceVariable(CamundaProcessDataServiceProviderImpl.java:160) at org.onap.so.monitoring.rest.api.SoMonitoringController.getProcessInstanceVariables(SoMonitoringController.java:200) at sun.reflect.GeneratedMethodAccessor94.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:81) at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144) at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161) at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$ResponseOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:160) at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99) at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:389) at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:347) at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:102) at org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:326) at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271) at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267) at org.glassfish.jersey.internal.Errors.process(Errors.java:315) at org.glassfish.jersey.internal.Errors.process(Errors.java:297) at org.glassfish.jersey.internal.Errors.process(Errors.java:267) at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:317) at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:305) at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1154) at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:473) at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:427) at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:388) at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:341) at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:228) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.springframework.boot.web.filter.ApplicationContextHeaderFilter.doFilterInternal(ApplicationContextHeaderFilter.java:55) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.springframework.boot.actuate.trace.WebRequestTraceFilter.doFilterInternal(WebRequestTraceFilter.java:111) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.springframework.web.filter.HttpPutFormContentFilter.doFilterInternal(HttpPutFormContentFilter.java:109) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:81) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.springframework.boot.actuate.autoconfigure.MetricsFilter.doFilterInternal(MetricsFilter.java:106) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:493) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:800) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:806) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1498) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:748)2018-11-
      

        1. SO Monitor.png
          SO Monitor.png
          58 kB
        2. SO Monitor(1).png
          SO Monitor(1).png
          129 kB
        3. SO Monitor(2).png
          SO Monitor(2).png
          76 kB

            shinuj1989 shinuj1989
            rokenny rokenny
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: