Uploaded image for project: 'Jira Service Management Data Center'
  1. Jira Service Management Data Center
  2. JSDSERVER-7349

Uncaught exception in DateTimeRange during update of an SLA value (in a background thread)

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: High High
    • 4.19.0
    • 4.14.1, 4.13.20
    • SLA

      Issue Summary

      Some SLAs are not correctly calculated in background threads due to a DateTimeRange error. This issue sometimes also affects the visualisation of the SLA data for an affected issue in the Issue View.

      Steps to Reproduce

      1. With an affected issue (we don't know how to reproduce the root-cause);
      2. Change the issue in a way that a new SLA transition would be created.

      Expected Results

      Transition occurs normally, with no errors in the log.

      Actual Results

      The below exception is thrown in the atlassian-jira.log file:

      com.atlassian.servicedesk.internal.sla.metric.DateTimeRangeException: com.atlassian.servicedesk.internal.sla.metric.DateTimeRange - the START time of the DateTimeRange (2021-03-29T16:45:18.812Z) must be less than or equal to the STOP time (2021-03-29T16:44:53.734Z)
      	at com.atlassian.servicedesk.internal.sla.metric.DateTimeRange.<init>(DateTimeRange.java:38)
      	at com.atlassian.servicedesk.internal.sla.model.Timeline.getRanges(Timeline.java:136)
      	at com.atlassian.servicedesk.internal.sla.model.Timeline.getPausedRanges(Timeline.java:81)
      	at com.atlassian.servicedesk.internal.sla.metric.TimeMetricCalculationServiceImpl.getElapsedTime(TimeMetricCalculationServiceImpl.java:75)
      	at com.atlassian.servicedesk.internal.sla.goal.GoalCalculationServiceImpl.calculateRemainingTime(GoalCalculationServiceImpl.java:160)
      	at com.atlassian.servicedesk.internal.sla.goal.GoalCalculationServiceImpl.getRemainingTime(GoalCalculationServiceImpl.java:103)
      	at com.atlassian.servicedesk.internal.sla.goal.SlaThresholdDataManagerImpl.updateThresholdData(SlaThresholdDataManagerImpl.java:43)
      	at com.atlassian.servicedesk.internal.sla.data.SlaDataManagerImpl.updateThresholdData(SlaDataManagerImpl.java:542)
      	at com.atlassian.servicedesk.internal.sla.data.SlaDataManagerImpl.processSlaDataUpdate(SlaDataManagerImpl.java:285)
      	at com.atlassian.servicedesk.internal.sla.data.SlaDataManagerImpl.processSlasFromIssueEvent(SlaDataManagerImpl.java:137)
      	at com.atlassian.servicedesk.internal.sla.listener.SlaCycleUpdaterImpl.processServiceDeskProjectEvent(SlaCycleUpdaterImpl.java:261)
      	at com.atlassian.servicedesk.internal.sla.listener.SlaCycleUpdaterImpl.lambda$processEvent$13(SlaCycleUpdaterImpl.java:234)
      	at io.atlassian.fugue.Option$Some.fold(Option.java:444)
      	at com.atlassian.servicedesk.internal.sla.listener.SlaCycleUpdaterImpl.processEvent(SlaCycleUpdaterImpl.java:232)
      	at com.atlassian.servicedesk.internal.sla.listener.SlaCycleUpdaterImpl.lambda$onIssueChangedEvent$2(SlaCycleUpdaterImpl.java:83)
      	at com.atlassian.servicedesk.internal.util.SafeRunner.runAlways(SafeRunner.java:58)
      	at com.atlassian.servicedesk.internal.sla.listener.SlaCycleUpdaterImpl.onIssueChangedEvent(SlaCycleUpdaterImpl.java:79)
      	at com.atlassian.servicedesk.bootstrap.listener.IssueChangedEventHandler.lambda$handleIssueChangedEventOffThreadable$1(IssueChangedEventHandler.java:147)
      	at com.atlassian.ozymandias.SafePluginPointAccess.runnable(SafePluginPointAccess.java:404)
      	at com.atlassian.servicedesk.bootstrap.listener.AbstractEventHandler.safeRun(AbstractEventHandler.java:143)
      

      Similar to:

      Workaround

      Running a forced recalculation on the issue (versions 4.9.1+) should fix the issue for the specific ticket. See more details about how to do it in Missing or corrupted SLA data in Jira Service Management

            bornatowski Bartosz Ornatowski
            esantos2 Elton Santos
            Votes:
            3 Vote for this issue
            Watchers:
            11 Start watching this issue

              Created:
              Updated:
              Resolved: