What happened:
The attached workflows try-catch-with-retry and try-catch-with-retry-and-do, are basically the same, with the only difference that the second, incorporates the do construct in the catch.
see:
catch:
do:
- executeAfterFailingTask:
set:
setAfterFailingTask: "No problem"
All the rest is the same, however, when the first workflow is executed, we can observe the following jsonPositions generated:
try-catch-with-retry:
The attemptTask gets this jsonPosition:
OnTaskStarted task: attemptTask taskId: do/0/attemptTask/do taskType: TRY iteration: 1 isRetrying: false retryAttempt: 0
and the child task failingTask gets this position:
OnTaskStarted task: failingTask taskId: do/0/attemptTask/do/0/failingTask taskType: RAISE iteration: 1 isRetrying: false retryAttempt: 0
try-catch-with-retry-and-do
The attemptTask gets this jsonPosition:
OnTaskStarted task: attemptTask taskId: do/0/attemptTask/do/do taskType: TRY iteration: 1 isRetrying: false retryAttempt: 0
and the child task failingTask gets this position:
OnTaskStarted task: failingTask taskId: do/0/attemptTask/do/0/failingTask taskType: RAISE iteration: 1 isRetrying: false retryAttempt: 0
and the task inside the do gets this position:
OnTaskStarted task: executeAfterFailingTask taskId: do/0/attemptTask/do/do/0/executeAfterFailingTask taskType: SET iteration: 1 isRetrying: false retryAttempt: 0
The following situations are observed:
- The "attemptTask, which has basically the same name, and is located in the same position in both workflwos gets the following jsonPositions:
try-catch-with-retry: -> do/0/attemptTask/do
try-catch-with-retry-with-do: -> do/0/attemptTask/do/do
Doesn't look consistent.
- The child task
failingTask however gets the same jsonPosition in both cases: do/0/attemptTask/do/0/failingTask
What you expected to happen:
The "attemptTask" should have the same jsonPosition in both cases.
Also, considering that in the model we have that the TryTask has:
public List getTry() {
return this._try;
}
the positon could be do/0/attemptTask/try instead
How to reproduce it:
Anything else we need to know?:
Environment:
- Specification version used:
test-try-catch-wity-retry.yaml
test-try-catch-wity-retry-and-do.yaml
What happened:
The attached workflows try-catch-with-retry and try-catch-with-retry-and-do, are basically the same, with the only difference that the second, incorporates the
doconstruct in thecatch.see:
All the rest is the same, however, when the first workflow is executed, we can observe the following jsonPositions generated:
try-catch-with-retry:
The attemptTask gets this jsonPosition:
OnTaskStarted task: attemptTask taskId: do/0/attemptTask/do taskType: TRY iteration: 1 isRetrying: false retryAttempt: 0
and the child task failingTask gets this position:
OnTaskStarted task: failingTask taskId: do/0/attemptTask/do/0/failingTask taskType: RAISE iteration: 1 isRetrying: false retryAttempt: 0
try-catch-with-retry-and-do
The attemptTask gets this jsonPosition:
OnTaskStarted task: attemptTask taskId: do/0/attemptTask/do/do taskType: TRY iteration: 1 isRetrying: false retryAttempt: 0
and the child task failingTask gets this position:
OnTaskStarted task: failingTask taskId: do/0/attemptTask/do/0/failingTask taskType: RAISE iteration: 1 isRetrying: false retryAttempt: 0
and the task inside the do gets this position:
OnTaskStarted task: executeAfterFailingTask taskId: do/0/attemptTask/do/do/0/executeAfterFailingTask taskType: SET iteration: 1 isRetrying: false retryAttempt: 0
The following situations are observed:
try-catch-with-retry: -> do/0/attemptTask/do
try-catch-with-retry-with-do: -> do/0/attemptTask/do/do
Doesn't look consistent.
failingTaskhowever gets the same jsonPosition in both cases: do/0/attemptTask/do/0/failingTaskWhat you expected to happen:
The "attemptTask" should have the same jsonPosition in both cases.
Also, considering that in the model we have that the TryTask has:
public List getTry() {
return this._try;
}
the positon could be do/0/attemptTask/try instead
How to reproduce it:
Anything else we need to know?:
Environment:
test-try-catch-wity-retry.yaml
test-try-catch-wity-retry-and-do.yaml