diff options
author | Håkon Hallingstad <hakon@oath.com> | 2018-03-13 13:59:36 +0100 |
---|---|---|
committer | Håkon Hallingstad <hakon@oath.com> | 2018-03-13 13:59:36 +0100 |
commit | 6046f620624481d11ef66051703b4f682a5e9701 (patch) | |
tree | fae7b768daaca5914dee8eca28537056c2395fd9 /node-admin | |
parent | b242ebc570f1da944d4d1f40b0538550a8d0e565 (diff) |
Disk usage before start
Diffstat (limited to 'node-admin')
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); |