-
Bug
-
Resolution: Fixed
-
Low
-
3.4.1, 3.5.0
-
Severity 3 - Minor
-
Problem
When there are multiple updates to the SLA value within the same request, it can result the SLA being overridden.
Cause
The method when we retrieve values vs writing values differ.
issue.getCustomFieldValue(customField);
- getCustomFieldValue will load the value, and cache it in a map on the IssueImpl object.
customField.getCustomFieldType().updateValue(customField, issue, updatingValue);
- when we update the value, we write it directly to the database, but do not update this map in the IssueImpl.
So if in the same request has multiple read/writes, our changes can be overridden as the value retrieved from issue is the original start value (in the map cache), which was not updated with previous writes.
Visible user symptoms/problem
SLA rule sporadically doesn't react (doesn't pause, etc) on issue status change.
Workaround:
Missing/Incorrect SLAs can be reconstructed by following the Missing SLA data in JIRA ServiceDesk KB.
- relates to
-
JSDSERVER-5299 SLA custom field should use last updated value if the event of a race condition
- Closed
-
JSMDC-512 Loading...