mistral can create multiple action executions due to bad async action
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Mistral |
Fix Released
|
High
|
Vitalii Solodilov |
Bug Description
This is really the fault of the async action on the other end, but it does seem like mistral should handle it better. If a task has a retry configuration, and you repeatedly update a single action execution's state to ERROR, the task will generate a new action execution each time. I tested this on mistral 5.2 using the provided docker image.
root@f316915139
+------
| ID | Name | Project ID | Tags | Input | Created at | Updated at |
+------
| 80fd8f0c-
+------
root@f316915139
+------
| Field | Value |
+------
| ID | c542cd24-
| Workflow ID | 80fd8f0c-
| Workflow name | repeated_retry |
| Description | |
| Task Execution ID | <none> |
| State | RUNNING |
| State info | None |
| Created at | 2018-01-16 20:39:51 |
| Updated at | 2018-01-16 20:39:51 |
+------
root@f316915139
+------
| ID | Name | Workflow name | Execution ID | State | State info | Created at | Updated at |
+------
| 531c799a-
+------
root@f316915139
+------
| ID | Name | Workflow name | Task name | Task ID | State | Accepted | Created at | Updated at |
+------
| acc19f4f-
+------
root@f316915139
+------
| Field | Value |
+------
| ID | acc19f4f-
| Name | std.mistral_http |
| Workflow name | repeated_retry |
| Task name | None |
| Task ID | 531c799a-
| State | ERROR |
| State info | None |
| Accepted | False |
| Created at | 2018-01-16 20:39:51 |
| Updated at | 2018-01-16 20:41:15 |
+------
root@f316915139
+------
| ID | Name | Workflow name | Task name | Task ID | State | Accepted | Created at | Updated at |
+------
| acc19f4f-
| 153c09d5-
+------
root@f316915139
+------
| Field | Value |
+------
| ID | acc19f4f-
| Name | std.mistral_http |
| Workflow name | repeated_retry |
| Task name | None |
| Task ID | 531c799a-
| State | ERROR |
| State info | None |
| Accepted | False |
| Created at | 2018-01-16 20:39:51 |
| Updated at | 2018-01-16 20:41:15 |
+------
root@f316915139
+------
| ID | Name | Workflow name | Task name | Task ID | State | Accepted | Created at | Updated at |
+------
| acc19f4f-
| 153c09d5-
| 615e6e4a-
+------
Changed in mistral: | |
status: | New → Confirmed |
assignee: | nobody → Vitalii Solodilov (mcdoker18) |
Changed in mistral: | |
status: | Confirmed → In Progress |
Changed in mistral: | |
milestone: | none → rocky-1 |
importance: | Undecided → High |
Reviewed: https:/ /review. openstack. org/539745 /git.openstack. org/cgit/ openstack/ mistral/ commit/ ?id=0369fdd2993 1965631f3f9b154 94ba6590670205
Committed: https:/
Submitter: Zuul
Branch: master
commit 0369fdd29931965 631f3f9b15494ba 6590670205
Author: Vitalii Solodilov <email address hidden>
Date: Thu Mar 8 17:02:46 2018 +0400
Prevent a action completion multiple times
If action is completed for second time we must raise and propagate
exception to the client to prevent task completion twice.
Change-Id: I36c5a85da4549e cdf97f6b5996ba4 36f153dabe8
Closes-Bug: 1743662
Signed-off-by: Vitalii Solodilov <email address hidden>