basho/riak_cs — pull request #959 by shino (2014-08-22 06:11:01+00:00)
Title: Add sleep after update manifests to avoid sibling explosion

Another candidate solution #882 of based on the @kuenishi 's idea (see also #905).

Idea is simple:
sleep some interval after get-modify-update manifests depending on #(siblings)

knobs

- `manifest_siblings_bp_threashold` (default 5)

threshold to trigger backpressure by sleep

- `manifest_siblings_bp_coefficient` (default 200 [msec])

Coefficient of sleep interval, which is `manifest_siblings_bp_coefficient * #(siblings)`

- `manifest_siblings_bp_max_sleep` (default 10*1000 [msec] = 10sec)

Max sleep interval. Mean sleep interval is determined by minimum of this value and the above.

Actual sleep interval is uniformly randomized between
(0.5 * mean sleep interval, 1.5 * mean sleep interval).