HBASE-1422 Delayed flush doesn't work causing flush storms; addendum by Lars Hofhansl
This commit is contained in:
parent
9bf4777af5
commit
7d0c08fbcd
|
@ -81,7 +81,8 @@ public class JitterScheduledThreadPoolExecutorImpl extends ScheduledThreadPoolEx
|
|||
public long getDelay(TimeUnit unit) {
|
||||
long baseDelay = wrapped.getDelay(unit);
|
||||
long spreadTime = (long) (baseDelay * spread);
|
||||
long delay = baseDelay + ThreadLocalRandom.current().nextLong(-spreadTime, spreadTime);
|
||||
long delay = spreadTime <= 0 ? baseDelay
|
||||
: baseDelay + ThreadLocalRandom.current().nextLong(-spreadTime, spreadTime);
|
||||
// Ensure that we don't roll over for nanoseconds.
|
||||
return (delay < 0) ? baseDelay : delay;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue