forked from cadence-workflow/cadence
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fix sticky decision keeps failing on ConditionFailedError (cadence-wo…
…rkflow#3423) When rangeID changed and sticky task ConditionFailedError happened, it is possible for the sticky tasklist to go into a bad state that none task can be added to it because of endless ConditionFailedError. This will cause latency increase for workflow, because all sticky decision task timeout (and workflow can only progress by using normal tasklist) Once it happened, the only possible way to recover is for user to restart workers (with those affected tasklists) We want to stablize the tasklist rangeID so that no need for worker to restart to recover using the sticky tasklist. This PR use a relatively conservative approach to stop infinite retrying sticky failures on ConditionFailedError. By reducing concurrent access to tasklist, it will be more likely to break the endless ConditionFailedError. Another approach would be clear stickness on worker side, but there would be bigger changes and risks.
- Loading branch information
Showing
5 changed files
with
29 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters