aboutsummaryrefslogtreecommitdiffstats
path: root/node-admin
diff options
context:
space:
mode:
authorHåkon Hallingstad <hakon@oath.com>2018-03-13 13:59:36 +0100
committerHåkon Hallingstad <hakon@oath.com>2018-03-13 13:59:36 +0100
commit6046f620624481d11ef66051703b4f682a5e9701 (patch)
treefae7b768daaca5914dee8eca28537056c2395fd9 /node-admin
parentb242ebc570f1da944d4d1f40b0538550a8d0e565 (diff)
Disk usage before start
Diffstat (limited to 'node-admin')
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/maintenance/StorageMaintainer.java4
-rw-r--r--node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/maintenance/StorageMaintainerTest.java7
2 files changed, 11 insertions, 0 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 72d488e361f..5653555c3e0 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
@@ -136,6 +136,10 @@ public class StorageMaintainer {
// Public for testing
long getDiskUsedInBytes(Path path) throws IOException, InterruptedException {
+ if (!Files.exists(path)) {
+ return 0;
+ }
+
final String[] command = {"du", "-xsk", path.toString()};
Process duCommand = new ProcessBuilder().command(command).start();
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 9b618b9cf45..f707b0f9f91 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
@@ -22,6 +22,7 @@ import java.io.IOException;
import java.nio.file.Files;
import java.time.Duration;
+import static org.junit.Assert.assertEquals;
import static org.junit.Assert.fail;
import static org.mockito.Matchers.any;
import static org.mockito.Mockito.mock;
@@ -61,6 +62,12 @@ public class StorageMaintainerTest {
}
@Test
+ public void testNonExistingDiskUsed() throws IOException, InterruptedException {
+ long usedBytes = storageMaintainer.getDiskUsedInBytes(folder.getRoot().toPath().resolve("doesn't exist"));
+ assertEquals(0L, usedBytes);
+ }
+
+ @Test
public void testMaintenanceThrottlingAfterSuccessfulMaintenance() {
String hostname = "node-123.us-north-3.test.yahoo.com";
ContainerName containerName = ContainerName.fromHostname(hostname);