976667c0a2
The state of a workflow execution was not updated even when all task executions were completed if some tasks finished at the same time as other tasks. Because we were using our connections with transaction isolation level = REPEATABLE_READ - Each process was using a snapshot of the DB created at the first read statement in that transaction. When a task finished and evaluated the state of all the other tasks it did not see the up-to-date state of those tasks - and so, because not all tasks were completed - the task did not change the workflow execution state. Similar behavior happened with multiple action executions under same task. On completion, each action execution checked the status of the other action executions and did not see the up-to-date state of these action execution - causing task execution to stay in RUNNING state. Change-Id: I12f66134d92b8ed39df9d6128d7de5ee49aa8623 Closes-Bug: #1518012 Closes-Bug: #1513456
11 lines
168 B
YAML
11 lines
168 B
YAML
---
|
|
version: '2.0'
|
|
|
|
test_task_ex_concurrency:
|
|
tasks:
|
|
task1:
|
|
action: std.async_noop
|
|
timeout: 2
|
|
task2:
|
|
action: std.async_noop
|
|
timeout: 2 |