Apply random jitter during initial _replicator shard discovery #484
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.
This is bringing back previous code:
couchdb/src/couch_replicator_manager.erl
Lines 940 to 946 in 884cf3e
The rationale is the following: during shard scanning a lot of
resume_scan
messages are sent back to back. This causes the replicator manager to open
change feeds for all of those shards. By delaying
resume_scan
message bya jitter proportional to the number messages sent to far, it gives replicator
manager a chance to open some change feeds, finish processing them and close
them before newer resume_scan messages arrive.
The random delay average starts 10 msec for first message, up to 1 min for 6000th and higher.
Some sample values:
Jira: COUCHDB-3389