summaryrefslogtreecommitdiffstats
path: root/node-admin
diff options
context:
space:
mode:
authorvalerijf <valerijf@yahoo-inc.com>2016-07-21 16:07:31 +0200
committervalerijf <valerijf@yahoo-inc.com>2016-07-21 16:07:31 +0200
commitbaa75a1cf34d57d1b0a5563529a1fc5190327b53 (patch)
treef12b48ff5502c03c881493831d74b0463e40f6e3 /node-admin
parente2096fd288ef7d269a8ae92f5f81a9e9375c9a46 (diff)
Fixed bug with generating path relative to node storage (previously interpreted as absolute path)
Diffstat (limited to 'node-admin')
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/maintenance/MaintenanceSchedulerImpl.java12
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/maintenance/Maintainer.java4
-rw-r--r--node-admin/src/test/java/com/yahoo/vespa/hosted/node/maintenance/MaintainerTest.java11
3 files changed, 19 insertions, 8 deletions
diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/maintenance/MaintenanceSchedulerImpl.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/maintenance/MaintenanceSchedulerImpl.java
index 204a50811f3..de73d8ced7a 100644
--- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/maintenance/MaintenanceSchedulerImpl.java
+++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/maintenance/MaintenanceSchedulerImpl.java
@@ -28,19 +28,19 @@ public class MaintenanceSchedulerImpl implements MaintenanceScheduler {
String[] pathsToClean = {"/home/y/logs/elasticsearch2", "/home/y/logs/logstash2",
"/home/y/logs/daemontools_y", "/home/y/logs/nginx", "/home/y/logs/vespa"};
for (String pathToClean : pathsToClean) {
- File path = resolveContainerPath(containerName, pathToClean);
+ File path = Maintainer.applicationStoragePathRelativeToNode(containerName, pathToClean).toFile();
if (path.exists()) {
DeleteOldAppData.deleteFiles(path.getAbsolutePath(), Duration.ofDays(3).getSeconds(), ".*\\.log\\..+", false);
DeleteOldAppData.deleteFiles(path.getAbsolutePath(), Duration.ofDays(3).getSeconds(), ".*QueryAccessLog.*", false);
}
}
- File logArchiveDir = resolveContainerPath(containerName, "/home/y/logs/vespa/logarchive");
+ File logArchiveDir = Maintainer.applicationStoragePathRelativeToNode(containerName, "/home/y/logs/vespa/logarchive").toFile();
if (logArchiveDir.exists()) {
DeleteOldAppData.deleteFiles(logArchiveDir.getAbsolutePath(), Duration.ofDays(31).getSeconds(), null, false);
}
- File fileDistrDir = resolveContainerPath(containerName, "/home/y/var/db/vespa/filedistribution");
+ File fileDistrDir = Maintainer.applicationStoragePathRelativeToNode(containerName, "/home/y/var/db/vespa/filedistribution").toFile();
if (fileDistrDir.exists()) {
DeleteOldAppData.deleteFiles(fileDistrDir.getAbsolutePath(), Duration.ofDays(31).getSeconds(), null, false);
}
@@ -56,7 +56,7 @@ public class MaintenanceSchedulerImpl implements MaintenanceScheduler {
@Override
public void deleteContainerStorage(ContainerName containerName) throws IOException {
- File yVarDir = resolveContainerPath(containerName, "/home/y/var");
+ File yVarDir = Maintainer.applicationStoragePathRelativeToNode(containerName, "/home/y/var").toFile();
if (yVarDir.exists()) {
DeleteOldAppData.deleteDirectories(yVarDir.getAbsolutePath(), 0, null);
}
@@ -86,10 +86,6 @@ public class MaintenanceSchedulerImpl implements MaintenanceScheduler {
}
}
- private File resolveContainerPath(ContainerName containerName, String relativePath) {
- return Maintainer.applicationStoragePathForNode(containerName).resolve(relativePath).toFile();
- }
-
private static String[] concatenateArrays(String[] ar1, String[] ar2) {
String[] concatenated = new String[ar1.length + ar2.length];
System.arraycopy(ar1, 0, concatenated, 0, ar1.length);
diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/maintenance/Maintainer.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/maintenance/Maintainer.java
index 0243cc6b661..773acf1e952 100644
--- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/maintenance/Maintainer.java
+++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/maintenance/Maintainer.java
@@ -112,4 +112,8 @@ public class Maintainer {
return APPLICATION_STORAGE_PATH_FOR_NODE_ADMIN.resolve(APPLICATION_STORAGE_CLEANUP_PATH_PREFIX +
containerName.asString() + "_" + filenameFormatter.format(Date.from(Instant.now())));
}
+
+ public static Path applicationStoragePathRelativeToNode(ContainerName containerName, String relativePath) {
+ return Paths.get(Maintainer.applicationStoragePathForNode(containerName).toString(), relativePath);
+ }
}
diff --git a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/maintenance/MaintainerTest.java b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/maintenance/MaintainerTest.java
index 7d030d0dc3a..75e59e8e12a 100644
--- a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/maintenance/MaintainerTest.java
+++ b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/maintenance/MaintainerTest.java
@@ -15,4 +15,15 @@ public class MaintainerTest {
"/host/home/docker/container-storage/docker1-1",
Maintainer.applicationStoragePathForNode(new ContainerName("docker1-1")).toString());
}
+
+ @Test
+ public void testPathRelativeToContainer() {
+ ContainerName containerName = new ContainerName("docker1-1");
+ String expected = "/host/home/docker/container-storage/" + containerName.asString() + "/home/y/var";
+ String[] variations = {"//home/y/var", "/home/y/var", "home/y/var", "/home/y/var/"};
+
+ for (String variation : variations) {
+ assertEquals(expected, Maintainer.applicationStoragePathRelativeToNode(containerName, variation).toString());
+ }
+ }
}