aboutsummaryrefslogtreecommitdiffstats
path: root/node-admin
diff options
context:
space:
mode:
authorValerij Fredriksen <valerijf@oath.com>2018-08-10 15:39:40 +0200
committerValerij Fredriksen <valerij92@gmail.com>2018-08-10 17:49:43 +0200
commitd2bffed3503fd58099e80c4155d635500492375a (patch)
treeb76491979b2bcca349646ffa41322bb204de7cc3 /node-admin
parent86139ca05e67c56dfdee0399c4ebc157903f47ea (diff)
Remove coredump handling throttling
Diffstat (limited to 'node-admin')
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/maintenance/StorageMaintainer.java19
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeagent/NodeAgentImpl.java3
-rw-r--r--node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/integrationTests/StorageMaintainerMock.java2
-rw-r--r--node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/maintenance/StorageMaintainerTest.java31
4 files changed, 10 insertions, 45 deletions
diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/maintenance/StorageMaintainer.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/maintenance/StorageMaintainer.java
index c83b454db15..7d3c6eb5a95 100644
--- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/maintenance/StorageMaintainer.java
+++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/maintenance/StorageMaintainer.java
@@ -291,10 +291,8 @@ public class StorageMaintainer {
/**
* Checks if container has any new coredumps, reports and archives them if so
- *
- * @param force Set to true to bypass throttling
*/
- public void handleCoreDumpsForContainer(ContainerName containerName, NodeSpec node, boolean force) {
+ public void handleCoreDumpsForContainer(ContainerName containerName, NodeSpec node) {
// Sample number of coredumps on the host
try (Stream<Path> files = Files.list(environment.pathInNodeAdminToDoneCoredumps())) {
numberOfCoredumpsOnHost.sample(files.count());
@@ -302,14 +300,9 @@ public class StorageMaintainer {
// Ignore for now - this is either test or a misconfiguration
}
- // Return early if throttled
- if (! getMaintenanceThrottlerFor(containerName).shouldHandleCoredumpsNow() && !force) return;
-
MaintainerExecutor maintainerExecutor = new MaintainerExecutor();
addHandleCoredumpsCommand(maintainerExecutor, containerName, node);
maintainerExecutor.execute();
-
- getMaintenanceThrottlerFor(containerName).updateNextHandleCoredumpsTime();
}
/**
@@ -513,7 +506,6 @@ public class StorageMaintainer {
private class MaintenanceThrottler {
private Instant nextRemoveOldFilesAt = Instant.EPOCH;
- private Instant nextHandleOldCoredumpsAt = Instant.EPOCH;
void updateNextRemoveOldFilesTime() {
nextRemoveOldFilesAt = clock.instant().plus(Duration.ofHours(1));
@@ -523,17 +515,8 @@ public class StorageMaintainer {
return !nextRemoveOldFilesAt.isAfter(clock.instant());
}
- void updateNextHandleCoredumpsTime() {
- nextHandleOldCoredumpsAt = clock.instant().plus(Duration.ofMinutes(5));
- }
-
- boolean shouldHandleCoredumpsNow() {
- return !nextHandleOldCoredumpsAt.isAfter(clock.instant());
- }
-
void reset() {
nextRemoveOldFilesAt = Instant.EPOCH;
- nextHandleOldCoredumpsAt = Instant.EPOCH;
}
}
}
diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeagent/NodeAgentImpl.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeagent/NodeAgentImpl.java
index 8a4b1208e1f..c84fe157cd3 100644
--- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeagent/NodeAgentImpl.java
+++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeagent/NodeAgentImpl.java
@@ -476,7 +476,7 @@ public class NodeAgentImpl implements NodeAgent {
updateNodeRepoWithCurrentAttributes(node);
break;
case active:
- storageMaintainer.handleCoreDumpsForContainer(containerName, node, false);
+ storageMaintainer.handleCoreDumpsForContainer(containerName, node);
storageMaintainer.getDiskUsageFor(containerName)
.map(diskUsage -> (double) diskUsage / BYTES_IN_GB / node.getMinDiskAvailableGb())
@@ -490,7 +490,6 @@ public class NodeAgentImpl implements NodeAgent {
}
container = removeContainerIfNeededUpdateContainerState(node, container);
if (! container.isPresent()) {
- storageMaintainer.handleCoreDumpsForContainer(containerName, node, false);
containerState = STARTING;
startContainer(node);
containerState = UNKNOWN;
diff --git a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/integrationTests/StorageMaintainerMock.java b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/integrationTests/StorageMaintainerMock.java
index 1f4cd02f443..6b7d545c286 100644
--- a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/integrationTests/StorageMaintainerMock.java
+++ b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/integrationTests/StorageMaintainerMock.java
@@ -30,7 +30,7 @@ public class StorageMaintainerMock extends StorageMaintainer {
}
@Override
- public void handleCoreDumpsForContainer(ContainerName containerName, NodeSpec node, boolean force) {
+ public void handleCoreDumpsForContainer(ContainerName containerName, NodeSpec node) {
}
@Override
diff --git a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/maintenance/StorageMaintainerTest.java b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/maintenance/StorageMaintainerTest.java
index 7e6cc6b773f..627517b824e 100644
--- a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/maintenance/StorageMaintainerTest.java
+++ b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/maintenance/StorageMaintainerTest.java
@@ -92,39 +92,22 @@ public class StorageMaintainerTest {
storageMaintainer.removeOldFilesFromNode(containerName);
verifyProcessExecuterCalled(1);
- // Coredump handler has its own throttler
- storageMaintainer.handleCoreDumpsForContainer(containerName, node, false);
- verifyProcessExecuterCalled(2);
-
-
clock.advance(Duration.ofMinutes(61));
storageMaintainer.removeOldFilesFromNode(containerName);
- verifyProcessExecuterCalled(3);
+ verifyProcessExecuterCalled(2);
- storageMaintainer.handleCoreDumpsForContainer(containerName, node, false);
- verifyProcessExecuterCalled(4);
+ // Coredump handling is unthrottled
+ storageMaintainer.handleCoreDumpsForContainer(containerName, node);
+ verifyProcessExecuterCalled(3);
- storageMaintainer.handleCoreDumpsForContainer(containerName, node, false);
+ storageMaintainer.handleCoreDumpsForContainer(containerName, node);
verifyProcessExecuterCalled(4);
- storageMaintainer.handleCoreDumpsForContainer(containerName, node, true);
- verifyProcessExecuterCalled(5);
-
- storageMaintainer.handleCoreDumpsForContainer(containerName, node, true);
- verifyProcessExecuterCalled(6);
-
- storageMaintainer.handleCoreDumpsForContainer(containerName, node, false);
- verifyProcessExecuterCalled(6);
-
-
// cleanupNodeStorage is unthrottled and it should reset previous times
storageMaintainer.cleanupNodeStorage(containerName, node);
- verifyProcessExecuterCalled(7);
+ verifyProcessExecuterCalled(5);
storageMaintainer.cleanupNodeStorage(containerName, node);
- verifyProcessExecuterCalled(8);
-
- storageMaintainer.handleCoreDumpsForContainer(containerName, node, false);
- verifyProcessExecuterCalled(9);
+ verifyProcessExecuterCalled(6);
}
@Test