Github user kxepal commented on the pull request:
https://github.com/apache/couchdb-couch-replicator/pull/37#issuecomment-215260015
I like the fix of problem, but I don't like the way it happens. Actually, I
don't like two things: random and sleep. The random is completely
unpredictable. The sleeps is the way to make system hanged for no actual
reason.
The problem of this algorithm is that as more replications you'll have, as
more chances that you'll return to the stampede effect that you try to avoid.
After point 300 you'll rise chances that more and more replications will always
sleep for 1 minute and all will get awaken at the same time with the all same
effect.
I think the proper fix should be at least as like as delayed commits works:
accumulate updates for some short, but fixed time frame and flush them bulk on
disk. No matter how much replications we'll have running, we're not depended on
their number here and we don't looks hanged, but responsive as soon as we can.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---