-
Notifications
You must be signed in to change notification settings - Fork 93
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
Parallelize scenario migrations testing #5327
Conversation
created: #5376 |
After consulting with @piotrp I will also:
|
designer/server/src/main/scala/pl/touk/nussknacker/ui/process/migrate/TestModelMigrations.scala
Outdated
Show resolved
Hide resolved
9f7ad76
to
7c50847
Compare
designer/server/src/main/scala/pl/touk/nussknacker/ui/process/migrate/RemoteEnvironment.scala
Outdated
Show resolved
Hide resolved
I will abstain from merging for the time being as I'll cherry-pick commits from this PR to preview/esp_1.12.4 branch and test the changes. |
I updated PR to use two ExecutionContexts instead of one as using only one EC with strictly restricted parallelism made things significantly worse performance-wise during tests. The new EC will be only used for operations on parallel collections while the old implicit one will take care of the tasks that it used to. |
8b8f92e
to
00896fb
Compare
In the latest commit I modified fetchGroupByGroup to be executed in parallel bounding the number of maximum concurrent requests to the number of threads in the batchingExecutionContext. Previous approach did not work as I intended since foldLeft forced fetching to be executed in sequence even when called on parallel collection. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
* Parallelize scenario migrations testing * Remove unused ExecutionContext from HttpRemoteEnvironment * Parallelize fetchGroupByGroup operation * Add prefixes for custom batching ExecutionContext * Remove using explicit ExecutionContext for testing migration * Inline ExecutionContextTaskSupport instantiation * Add spearate ExecutionContext for operations on collections * Remove implicit from TestModelMigrationsSpec * Fix fetchGroupByGroup parallelization * Move batchTimeout to config
Describe your changes
Checklist before merge