Creation of workflow language specifications is too expensive
Bug #1844242 reported by
Renat Akhmerov
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Mistral |
Fix Released
|
High
|
Renat Akhmerov |
Bug Description
When it comes to big workflows (several thousand tasks) then uploading a workflow may take minutes. This is too long and we need to find ways to optimize that. One specific thing that takes ~80% of execution time is validating JSON schema of the workflow parts (tasks, policies, etc.) with jsonschema library. One way to overcome this can be adding a config option to disable validation at all (at least JSON schema). For some use cases, when, for example, workflows are auto-generated and pre-validated it will be OK.
Changed in mistral: | |
assignee: | nobody → Renat Akhmerov (rakhmerov) |
milestone: | none → train-rc1 |
importance: | Undecided → High |
status: | New → In Progress |
To post a comment you must log in.
Reviewed: https:/ /review. opendev. org/682024 /git.openstack. org/cgit/ openstack/ mistral/ commit/ ?id=64c4038b2c1 1170a942c909c31 4e681f73cf895e
Committed: https:/
Submitter: Zuul
Branch: master
commit 64c4038b2c11170 a942c909c314e68 1f73cf895e
Author: Renat Akhmerov <email address hidden>
Date: Fri Sep 13 18:11:07 2019 +0700
Optimize creation of language specs
* Various simple optimizations for creation of specs. Mostly
additional caching of non-growing data related to the
structure of the language spec classes. For huge workflows
with thousands of tasks these changes reduce execution time
by dozens of seconds.
* Minor style changes.
Partial-bug: #1844242 5ece18609f2977e 6568062e4bf
Change-Id: Ia700e25752d9d3