aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKristian Aune <kristian@ymail.com>2018-10-18 09:02:59 +0200
committerKristian Aune <kristian@ymail.com>2018-10-18 09:02:59 +0200
commit4833a4f4a963db0424ff37a7af230258b1621a0f (patch)
treeac510337106c2455e30b1302f6409cc4a114d280
parent9c6c104a8be82c18c4aeff91f644be3f0c104afc (diff)
fail early in test and staging
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/FailedExpirer.java6
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/FailedExpirerTest.java18
2 files changed, 23 insertions, 1 deletions
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/FailedExpirer.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/FailedExpirer.java
index 3bc8857be07..01eef3c2aa1 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/FailedExpirer.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/FailedExpirer.java
@@ -63,7 +63,11 @@ public class FailedExpirer extends Maintainer {
this.zone = zone;
this.clock = clock;
if (zone.system() == SystemName.main) {
- defaultExpiry = Duration.ofDays(4);
+ if (zone.environment() == Environment.staging || zone.environment() == Environment.test) {
+ defaultExpiry = Duration.ofHours(1);
+ } else {
+ defaultExpiry = Duration.ofDays(4);
+ }
containerExpiry = Duration.ofHours(1);
} else {
defaultExpiry = containerExpiry = Duration.ofMinutes(30);
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/FailedExpirerTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/FailedExpirerTest.java
index dc00eda01a0..a5f1dbb03cb 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/FailedExpirerTest.java
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/FailedExpirerTest.java
@@ -48,6 +48,24 @@ import static org.junit.Assert.assertEquals;
public class FailedExpirerTest {
@Test
+ public void ensure_failed_nodes_are_deallocated_in_test_quickly() {
+ FailureScenario scenario = new FailureScenario(SystemName.main, Environment.test)
+ .withNode("node1")
+ .withNode("node2")
+ .setReady("node1", "node2")
+ .allocate(ClusterSpec.Type.content, "node1", "node2")
+ .failNode(1, "node1");
+
+ scenario.clock().advance(Duration.ofMinutes(1));
+ scenario.expirer().run();
+ scenario.assertNodesIn(Node.State.failed, "node1"); // None moved yet
+
+ scenario.clock().advance(Duration.ofHours(2));
+ scenario.expirer().run();
+ scenario.assertNodesIn(Node.State.dirty, "node1");
+ }
+
+ @Test
public void ensure_failed_nodes_are_deallocated_in_prod() {
FailureScenario scenario = new FailureScenario(SystemName.main, Environment.prod)
.withNode("node1")