While flow is in REVERTING or REVERTED state, reverted tasks are now
left in REVERTED state. They are then reset to PENDING state when flow
is run again. With this change:
- when task is in REVERTED state, its result (if task were
successfully executed before) is removed, but its failure (if its
execution or reversion failed) is still available from storage;
- when flow is in REVERTED or FAILURE states, you can get all task
failures from storage;
- if flow is in REVERTED or REVERTING state, but task is in PENDING
state, it means this task was never executed;
- flow cannot transition from REVERTED to RUNNING state any more -- it
should go through PENDING state; on REVERTED -> PENDING transition
tasks of the flow are reset.
This ensures that failure information is available until it becomes
irrelevant.
Closes-bug: #1246612
Change-Id: I27c3891f5d412d6de6240638b5014afda94a58a4