Details
-
Story
-
Status: Closed
-
Major
-
Resolution: Fixed
-
0.1.0
-
None
-
None
Description
Make the process of cancelling execution more robust:
- Identify possible pitfalls and corner cases.
- Implement force cancelling.
**************
Conclusions:
Unhandled execution status transitions resulting from cancelling an
execution via the CLI, that we indentified and tried to address:
TERMINATED -> CANCELLING
You cancel the execution, but by the time we try to set the status to
CANCELLING, the execution thread had already finished, and therefore, in
SUCCEEDED status.
FAILED -> CANCELLING
You cancel the execution, but by the time we try to set the status to
CANCELLING, the execution thread had already encountered an error, and therefore, in
FAILED state.
TERMINATED -> CANCELLED
Similar to #1, but with CANCELLED instead of CANCELLING.
FAILED -> CANCELLED
Similar to #1, but with CANCELLED instead of CANCELLING.
In all of the above cases (#1-#4), we skip updating the execution status,
and log that the execution already succeeded/failed before we were able
to cancel it.
CANCELLING -> STARTED
You cancel the execution while it is still in pending state. Meanwhile,
while the execution status was already set to CANCELLING, we try to set
the execution status
CANCELLED -> STARTED
Similar to #5, but after the status is set to CANCELLING, it also gets
set to CANCELLED before attempting to set it to STARTED.
In cases #5-#6, we skip updtating the execution status, and nothing is logged.
Attachments
Issue Links
- links to