-
Notifications
You must be signed in to change notification settings - Fork 39
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
Increasing number of items increases execution time exponentially #125
Comments
@batk0 Thanks for the report. I'm actively working on a fix for this issue though it will be a little longer before it is out as it will require a refactor of some pretty involved parts of Orquesta. I will keep you posted and post against this issue as we resolve it. |
@bigmstone Just trying to help out here. I did reproduce the problem. It's caused by MongoDB write conflict in workflow service handle_action_execution_completion method. When the action executions for each item completes, they compete with each other to update the task and workflow execution. If we use coordination service to do a lock (test using file driver), then the run time increasing from 10 items to 100 items is linear. Here's the change I made to test. We can talk more on Slack this Monday. Let's think about it. If we are using coordination service to fix this, we may as well use coordination service everywhere in the workflow service instead of the write conflict and retry mechanism currently.
|
Fix at StackStorm/st2#4595. The solution requires a distributed lock and users will have to configure the coordination service in st2 for the solution to take effect. |
For the given workflow definition: https://gist.github.com/batk0/32e03d360903cdfcdb8075267419b892 execution time increases exponentially with increasing number of items.
For example:
14 items = 84s
32 items = 181s
76 items = 813s
101 items = 1566s
Also CPU usage of st2workflowengine is sustained at 100% while WF is running
The text was updated successfully, but these errors were encountered: