diff options
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") |