lock_object_storage_task_distribution_ms setting #866
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Changelog category (leave one):
Changelog entry (a user-readable short description of the changes that goes to CHANGELOG.md):
Setting
lock_object_storage_task_distribution_ms
to improve cache locality with swarm clusterDocumentation entry for user-facing changes
Solve #867
Setting
lock_object_storage_task_distribution_ms
prevent object to be processed on non-primary swarm nodes when primary is alive at lastlock_object_storage_task_distribution_ms
milliseconds.Swarm has 2 nodes, node1 processed all objects, node2 is overloaded and processed only part objects.
Behavior before PR and default (with
lock_object_storage_task_distribution_ms=0
): node1 takes unprocessed objects.Behavior with
lock_object_storage_task_distribution_ms=3000
- node1 takes unprocessed objects only if node2 does not take it for 3 seconds. If node2 took something 1 second ago, node1 waits and makes new request after 2 seconds. If node2 still did not take any object, objects goes to node1. It node2 took something, node1 waits again till the end of new 3-second period.Exclude tests: