-
Bug Report
-
Resolution: Fixed
-
L2 - Critical
-
None
-
None
-
Not defined
Brief summary of the bug. What is it ? Where is it ?
Under some circumstances (we guess a process with no data) the process page fails after a Dashboard was created after using the link in the process overview for the first time.
Steps to reproduce:
- Deploy a process with no instances
- Go to the process overview page
- Click on the dashboard link of that process
- Refresh the process overview page
Actual result:
Loading hte page fails with a 500 error from the backend api.
The log contains this stacktracke:
java.lang.NullPointerException: null at org.camunda.optimize.service.KpiService.getKpiResultsForProcessDefinition(KpiService.java:105) at org.camunda.optimize.service.ProcessOverviewService.lambda$getAllProcessOverviews$4(ProcessOverviewService.java:88) at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) at java.base/java.util.HashMap$EntrySpliterator.forEachRemaining(HashMap.java:1764) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:913) at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:578) at org.camunda.optimize.service.ProcessOverviewService.getAllProcessOverviews(ProcessOverviewService.java:91) at org.camunda.optimize.rest.ProcessOverviewRestService.getProcessOverviews(ProcessOverviewRestService.java:54) at jdk.internal.reflect.GeneratedMethodAccessor693.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory.lambda$static$0(ResourceMethodInvocationHandlerFactory.java:52) at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:124) at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:167) at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:219) at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:79) at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:475) at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:397) at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:81)
Expected result:
it should work fine
Hint:
As discussed in a call we should make the process overview/kpi report evaluation null-safe in regards to the report value