-
Notifications
You must be signed in to change notification settings - Fork 23
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Workers concurrently register execution for one step #786
Labels
bug
Something isn't working
Comments
trihoangvo
added a commit
to opentelekomcloud/yorc
that referenced
this issue
Oct 19, 2022
… in the joined node * When one or more steps (e.g., Step1 and Step2) join one Step 3, it may happen occasionally that two workers register two duplicate task executions for one next step. See bug report in ystia#786 * Fix: Before registering a new task execution, a worker checks if the task execution has already been registered for the given step (at _yorc/tasks/<taskID>/.registeredExecutions/<stepName>) When deleting the ".runningExecutions" in notifyEnd(), also delete the ".registeredExecution". * Note: If the step status is DONE, ERROR, or CANCELED, we still register a task execution. This is the case where we resume a workflow. The task executions are registered run again. But they will be bypass if the given step is DONE.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Bug Report
Description
In yorc logs, we see sometimes, two task executions are registered for one step at the same time. (See two duplicated entries "All previous steps of step" in the log below). As a result, workers concurrently work on the registered task execution. They create and remove ansible files from each other (e.g.,
overlay
files) and cause unexpected error.Expected behavior
One task execution for a given step is registered.
Actual behavior
Two duplicated task executions are registered.
Additional information you deem important
This issue happens only occasionally when two or more steps join into one step. For example:
Step 1 ------> Step 3
Step 2 -----------^
The following lock:
https://github.com/ystia/yorc/blob/develop/tasks/workflow/step.go#L621
cannot prevent this issue.
Output of
yorc version
develop
Priority
Low
The text was updated successfully, but these errors were encountered: