summaryrefslogtreecommitdiffstats
path: root/container-disc
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2017-04-26 15:58:35 +0200
committerHenning Baldersheim <balder@yahoo-inc.com>2017-04-26 15:58:35 +0200
commit22b8fcb6e22fb9c1061f6fe622300ac00e0715b5 (patch)
treeb35bfbe9bf843d96d0358c11a2660db54c23df22 /container-disc
parentca4d844eddcbcfa7ef3b6515a315c33a4e2c11c7 (diff)
Sleep a random number of seconds between 0 and 180s do avoid syncronized cluster wide OOS.
Diffstat (limited to 'container-disc')
-rw-r--r--container-disc/src/main/java/com/yahoo/container/jdisc/component/Deconstructor.java4
1 files changed, 4 insertions, 0 deletions
diff --git a/container-disc/src/main/java/com/yahoo/container/jdisc/component/Deconstructor.java b/container-disc/src/main/java/com/yahoo/container/jdisc/component/Deconstructor.java
index ae7599add4c..90e4860bd7c 100644
--- a/container-disc/src/main/java/com/yahoo/container/jdisc/component/Deconstructor.java
+++ b/container-disc/src/main/java/com/yahoo/container/jdisc/component/Deconstructor.java
@@ -7,6 +7,7 @@ import com.yahoo.container.di.ComponentDeconstructor;
import com.yahoo.container.di.componentgraph.Provider;
import com.yahoo.jdisc.SharedResource;
+import java.util.Random;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
@@ -62,6 +63,9 @@ public class Deconstructor implements ComponentDeconstructor {
} catch (Exception e) {
log.log(WARNING, "Exception thrown when deconstructing " + component, e);
} catch (Throwable t) {
+ try {
+ Thread.sleep((long) (new Random(System.nanoTime()).nextDouble() * 180 * 1000));
+ } catch (InterruptedException e) { }
com.yahoo.protect.Process.logAndDie("Error when deconstructing " + component, t);
}
}