Uploaded image for project: 'Camunda Optimize'
  1. Camunda Optimize
  2. OPT-3595

Group by date variable fails with a 500 if there is no data

    XMLWordPrintable

    Details

    • Type: Bug Report
    • Status: Done
    • Priority: L3 - Default
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 3.1.0
    • Component/s: backend
    • Labels:
    • Epic Link:
    • Effort:
      Not defined

      Description

      Given:
      A group by date variable report with results

      When:
      I configure a filter that would lead to no processInstances being present in the result

      Then:
      The report fails with a 500 and I see this log

      12:06:03.949 [qtp2102368942-13] ERROR o.c.o.r.p.GenericExceptionMapper - Mapping generic REST error
      java.time.format.DateTimeParseException: Text 'Infinity' could not be parsed at index 0
      	at java.time.format.DateTimeFormatter.parseResolved0(DateTimeFormatter.java:1949)
      	at java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:1851)
      	at java.time.OffsetDateTime.parse(OffsetDateTime.java:402)
      	at org.camunda.optimize.service.es.report.command.modules.group_by.AbstractGroupByVariable.createDateVariableAggregation(AbstractGroupByVariable.java:149)
      	at org.camunda.optimize.service.es.report.command.modules.group_by.AbstractGroupByVariable.createVariableSubAggregation(AbstractGroupByVariable.java:131)
      	at org.camunda.optimize.service.es.report.command.modules.group_by.AbstractGroupByVariable.createAggregation(AbstractGroupByVariable.java:95)
      	at org.camunda.optimize.service.es.report.command.exec.ReportCmdExecutionPlan.addAggregation(ReportCmdExecutionPlan.java:113)
      	at org.camunda.optimize.service.es.report.command.exec.ReportCmdExecutionPlan.evaluate(ReportCmdExecutionPlan.java:71)
      	at org.camunda.optimize.service.es.report.command.exec.ReportCmdExecutionPlan.evaluate(ReportCmdExecutionPlan.java:59)
      	at org.camunda.optimize.service.es.report.command.process.processinstance.frequency.CountProcessInstanceFrequencyGroupByVariableCmd.evaluate(CountProcessInstanceFrequencyGroupByVariableCmd.java:40)
      	at org.camunda.optimize.service.es.report.command.process.processinstance.frequency.CountProcessInstanceFrequencyGroupByVariableCmd.evaluate(CountProcessInstanceFrequencyGroupByVariableCmd.java:20)
      	at org.camunda.optimize.service.es.report.SingleReportEvaluator.evaluate(SingleReportEvaluator.java:48)
      	at org.camunda.optimize.service.es.report.ReportEvaluationHandler.evaluateSingleReportWithErrorCheck(ReportEvaluationHandler.java:148)
      	at org.camunda.optimize.service.es.report.ReportEvaluationHandler.evaluateReport(ReportEvaluationHandler.java:76)
      	at org.camunda.optimize.service.es.report.ReportEvaluationHandler.evaluateReport(ReportEvaluationHandler.java:61)
      	at org.camunda.optimize.service.report.ReportService.evaluateReport(ReportService.java:254)
      	at org.camunda.optimize.rest.ReportRestService.evaluateProvidedReport(ReportRestService.java:181)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      	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.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:469)
      	at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:391)
      	at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:80)
      	at org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:253)
      	at org.glassfish.jersey.internal.Errors$1.call(Errors.java:248)
      	at org.glassfish.jersey.internal.Errors$1.call(Errors.java:244)
      	at org.glassfish.jersey.internal.Errors.process(Errors.java:292)
      	at org.glassfish.jersey.internal.Errors.process(Errors.java:274)
      	at org.glassfish.jersey.internal.Errors.process(Errors.java:244)
      	at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:265)
      	at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:232)
      	at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:680)
      	at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:394)
      	at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:346)
      	at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:366)
      	at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:319)
      	at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:205)
      	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:763)
      	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1631)
      	at org.eclipse.jetty.websocket.server.WebSocketUpgradeFilter.doFilter(WebSocketUpgradeFilter.java:226)
      	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1618)
      	at org.camunda.optimize.jetty.NoCachingFilter.doFilter(NoCachingFilter.java:50)
      	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1618)
      	at org.camunda.optimize.jetty.SingleSignOnFilter.doFilter(SingleSignOnFilter.java:72)
      	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1618)
      	at org.camunda.optimize.jetty.LicenseFilter.doFilter(LicenseFilter.java:85)
      	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1618)
      	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:549)
      	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
      	at org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:717)
      	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
      	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235)
      	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1610)
      	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
      	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1363)
      	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)
      	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:489)
      	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1580)
      	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)
      	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1278)
      	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
      	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
      	at org.eclipse.jetty.server.Server.handle(Server.java:500)
      	at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:383)
      	at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:547)
      	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:375)
      	at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:273)
      	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
      	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
      	at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:117)
      	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336)
      	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313)
      	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171)
      	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129)
      	at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:375)
      	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:806)
      	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:938)
      	at java.lang.Thread.run(Thread.java:748)
      

      Expected:
      The report evaluation should succeed with just an empty result.

        Attachments

          Activity

            People

            Assignee:
            Unassigned Unassigned
            Reporter:
            sebastian.bathke Sebastian Bathke
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: