-
Notifications
You must be signed in to change notification settings - Fork 25k
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
[Transform] add throttling based on configuration parameter #54862
Comments
Pinging @elastic/ml-core (:ml/Transform) |
implement throttling in async-indexer used by rollup and transform. The added docs_per_second parameter is used to calculate a delay before the next search request is send. With re-throttle its possible to change the parameter at runtime. When stopping a running job, its ensured that despite throttling the indexer stops in reasonable time. This change contains the groundwork, but does not expose the new functionality. relates #54862
implement throttling in async-indexer used by rollup and transform. The added docs_per_second parameter is used to calculate a delay before the next search request is send. With re-throttle its possible to change the parameter at runtime. When stopping a running job, its ensured that despite throttling the indexer stops in reasonable time. This change contains the groundwork, but does not expose the new functionality. relates elastic#54862 # Conflicts: # x-pack/plugin/rollup/src/main/java/org/elasticsearch/xpack/rollup/job/RollupIndexer.java # x-pack/plugin/rollup/src/main/java/org/elasticsearch/xpack/rollup/job/RollupJobTask.java # x-pack/plugin/rollup/src/test/java/org/elasticsearch/xpack/rollup/job/RollupIndexerIndexingTests.java # x-pack/plugin/rollup/src/test/java/org/elasticsearch/xpack/rollup/job/RollupIndexerStateTests.java
implement throttling in async-indexer used by rollup and transform. The added docs_per_second parameter is used to calculate a delay before the next search request is send. With re-throttle its possible to change the parameter at runtime. When stopping a running job, its ensured that despite throttling the indexer stops in reasonable time. This change contains the groundwork, but does not expose the new functionality. relates #54862 backport: #55011
add throttling to transform, throttling will slow down search requests by delaying the execution based on a documents per second metric. fixes elastic#54862
@hendrikmuhs In other APIs where behaviour can be "disabled",
Would there be scope to disable throttling on I can't speak for other language clients, but for the .NET high level client, it typically omits sending Looks like the Java client sends a Lines 132 to 144 in e177a38
(/cc @elastic/es-clients) |
Agreed that |
Relates: #4718, elastic/elasticsearch#54862 Add transform settings to Transform APIs
Both is possible In the stack we have both versions, |
Thanks for clarifying 👍 I'll document to send |
Relates: #4718, elastic/elasticsearch#54862 Add transform settings to Transform APIs
Relates: #4718, elastic/elasticsearch#54862 Add transform settings to Transform APIs
Relates: #4718, elastic/elasticsearch#54862 Add transform settings to Transform APIs
Relates: #4718, elastic/elasticsearch#54862 Add transform settings to Transform APIs Co-authored-by: Russ Cam <[email protected]>
Relates: #4718, elastic/elasticsearch#54862 Add transform settings to Transform APIs Co-authored-by: Russ Cam <[email protected]>
Running transform can increase load on the cluster. Especially in batch mode and for the first checkpoint of a continuous transform this can have bad side effects on the cluster.
Transform should support throttling similar to reindex. Throttling is configured in reindex with the setting
requests_per_second
.Because transform works as a reducer (reindex is conceptually a mapper), transform should throttle differently:
For transform we decided to go for
docs_per_second
.Setting
docs_per_second
tonull
disables throttling (instead ofnull
you can also use-1
), settingdocs_per_second
to0
is disallowed.Configuration:
docs_per_second
is located under a new object:settings
.The setting
max_page_search_size
which is part ofpivot
will be moved there, too (the old place is deprecated but kept for BWC). If both are specified, the one under settings win, because it could be a leftover after updating an old configuration.The whole settings object will be update-able with the update API.
Update will be
The text was updated successfully, but these errors were encountered: