-
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 You do not have permission to view this issue
Form Name |
---|
[JSDSERVER-5066] Multiple SLA updates in same request override each other
Remote Link | Original: This issue links to "JSDS-512 (JIRA Server)" [ 283787 ] | New: This issue links to "JSMDC-512 (JIRA Server (Bulldog))" [ 283787 ] |
Workflow | Original: JSD Bug Workflow v5 - TEMP [ 2305121 ] | New: JAC Bug Workflow v3 [ 3126456 ] |
Status | Original: Done [ 10044 ] | New: Closed [ 6 ] |
Symptom Severity | Original: Minor [ 14432 ] | New: Severity 3 - Minor [ 15832 ] |
Description |
Original:
h4. Problem
When there are multiple updates to the SLA value within the same request, it can result the SLA being overridden. h4. Cause The method when we retrieve values vs writing values differ. {code:java} issue.getCustomFieldValue(customField); {code} * getCustomFieldValue will load the value, and cache it in a map on the {{IssueImpl}} object. {code:java} customField.getCustomFieldType().updateValue(customField, issue, updatingValue); {code} * 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. h4. Visible user symptoms/problem SLA rule sporadically doesn't react (doesn't _pause_, etc) on issue status change. h4. Workaround: Missing/Incorrect SLAs can be reconstructed by following [Missing SLA data in JIRA ServiceDesk|https://confluence.atlassian.com/jirakb/missing-sla-data-in-jira-servicedesk-828790603.html] KB. |
New:
h4. Problem
When there are multiple updates to the SLA value within the same request, it can result the SLA being overridden. h4. Cause The method when we retrieve values vs writing values differ. {code:java} issue.getCustomFieldValue(customField); {code} * getCustomFieldValue will load the value, and cache it in a map on the {{IssueImpl}} object. {code:java} customField.getCustomFieldType().updateValue(customField, issue, updatingValue); {code} * 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. h4. Visible user symptoms/problem SLA rule sporadically doesn't react (doesn't _pause_, etc) on issue status change. h4. Workaround: Missing/Incorrect SLAs can be reconstructed by following the [Missing SLA data in JIRA ServiceDesk|https://confluence.atlassian.com/jirakb/missing-sla-data-in-jira-servicedesk-828790603.html] KB. |
Description |
Original:
h4. Problem
When there are multiple updates to the SLA value within the same request, it can result the SLA being overridden. h4. Cause The method when we retrieve values vs writing values differ. {code} issue.getCustomFieldValue(customField); {code} * getCustomFieldValue will load the value, and cache it in a map on the {{IssueImpl}} object. {code} customField.getCustomFieldType().updateValue(customField, issue, updatingValue); {code} * 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. h4. Visible user symptoms/problem SLA rule sporadically doesn't react (doesn't _pause_, etc) on issue status change. |
New:
h4. Problem
When there are multiple updates to the SLA value within the same request, it can result the SLA being overridden. h4. Cause The method when we retrieve values vs writing values differ. {code:java} issue.getCustomFieldValue(customField); {code} * getCustomFieldValue will load the value, and cache it in a map on the {{IssueImpl}} object. {code:java} customField.getCustomFieldType().updateValue(customField, issue, updatingValue); {code} * 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. h4. Visible user symptoms/problem SLA rule sporadically doesn't react (doesn't _pause_, etc) on issue status change. h4. Workaround: Missing/Incorrect SLAs can be reconstructed by following [Missing SLA data in JIRA ServiceDesk|https://confluence.atlassian.com/jirakb/missing-sla-data-in-jira-servicedesk-828790603.html] KB. |
Link |
New:
This issue relates to |
Affects Version/s | New: 3.5.0 [ 70597 ] |
Resolution | New: Fixed [ 1 ] | |
Status | Original: Awaiting Release [ 11372 ] | New: Done [ 10044 ] |
Workflow | Original: JSD Bug Workflow v5 [ 2059048 ] | New: JSD Bug Workflow v5 - TEMP [ 2305121 ] |
Workflow | Original: JSD Bug Workflow v5 - TEMP [ 2056440 ] | New: JSD Bug Workflow v5 [ 2059048 ] |