summaryrefslogtreecommitdiffstats
path: root/container-disc/src
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@oath.com>2018-03-01 10:23:13 +0100
committerJon Bratseth <bratseth@oath.com>2018-03-01 10:23:13 +0100
commit60752add2a2bc93a0ca7377b51abe2a2584f1fd0 (patch)
treee897dd468ca8b0e2158705fc59b9e5afeaedfccc /container-disc/src
parentb6433667f3d1c881bc1a1cbc5bc46cecbddd3671 (diff)
Increase random die time from 3 to 10 minutes
- Increase random die time from 3 to 10 minutes - Log warning if waiting to die is interrupted.
Diffstat (limited to 'container-disc/src')
-rw-r--r--container-disc/src/main/java/com/yahoo/container/jdisc/component/Deconstructor.java11
1 files changed, 9 insertions, 2 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 8dc3a81db12..f5a8f598a94 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
@@ -20,6 +20,7 @@ import static java.util.logging.Level.WARNING;
* @author gv
*/
public class Deconstructor implements ComponentDeconstructor {
+
private static final Logger log = Logger.getLogger(Deconstructor.class.getName());
private final ScheduledExecutorService executor =
@@ -52,6 +53,7 @@ public class Deconstructor implements ComponentDeconstructor {
}
private static class DestructComponentTask implements Runnable {
+
private final AbstractComponent component;
DestructComponentTask(AbstractComponent component) {
@@ -69,10 +71,15 @@ public class Deconstructor implements ComponentDeconstructor {
}
catch (Error e) {
try {
- Thread.sleep((long) (new Random(System.nanoTime()).nextDouble() * 180 * 1000));
- } catch (InterruptedException exception) { }
+ // Randomize restart over 10 minutes to avoid simultaneous cluster restarts
+ Thread.sleep((long) (new Random(System.nanoTime()).nextDouble() * 1000 * 60 * 10));
+ }
+ catch (InterruptedException exception) {
+ log.log(WARNING, "Randomized wait before dying disrupted. Dying now.");
+ }
com.yahoo.protect.Process.logAndDie("Error when deconstructing " + component, e);
}
}
}
+
}