> @@ -126,6 +127,9 @@ public void imposeBackoffExponentialDelay(long period, > int pow, int failureCount > public void imposeBackoffExponentialDelay(long period, long maxPeriod, > int pow, int failureCount, int max, > String commandDescription) { > long delayMs = (long) (period * Math.pow(failureCount, pow)); > + // Add random delay to avoid thundering herd problem when multiple > + // simultaneous failed requests retry after sleeping for the same > delay. > + delayMs += new Random().nextInt((int) (delayMs / 10));
This will be very small if delayMs happens to be small. Is that intentional? --- Reply to this email directly or view it on GitHub: https://github.com/jclouds/jclouds/pull/286/files#r9628689