diff options
author | Valerij Fredriksen <valerijf@yahooinc.com> | 2022-05-09 14:26:03 +0200 |
---|---|---|
committer | Valerij Fredriksen <valerijf@yahooinc.com> | 2022-05-09 14:26:03 +0200 |
commit | 73e8f00c796952138f36560679266325822eca4a (patch) | |
tree | a61cf56d30eb1e87e59bdf45f5de5af0b803b4cb /node-admin/src/main/java/com/yahoo/vespa/hosted/node | |
parent | c72f4f8814368b461ce03759edf0b2dbe2294be0 (diff) |
Sync ZK logs
Diffstat (limited to 'node-admin/src/main/java/com/yahoo/vespa/hosted/node')
-rw-r--r-- | node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/maintenance/sync/SyncFileInfo.java | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/maintenance/sync/SyncFileInfo.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/maintenance/sync/SyncFileInfo.java index a9f2cd219b9..ffce5e6e68b 100644 --- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/maintenance/sync/SyncFileInfo.java +++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/maintenance/sync/SyncFileInfo.java @@ -2,10 +2,13 @@ package com.yahoo.vespa.hosted.node.admin.maintenance.sync; import com.yahoo.config.provision.ApplicationId; +import com.yahoo.vespa.hosted.node.admin.task.util.file.UnixPath; import java.net.URI; import java.nio.file.Path; import java.time.Duration; +import java.time.ZoneOffset; +import java.time.format.DateTimeFormatter; import java.util.HashMap; import java.util.Map; import java.util.Optional; @@ -15,6 +18,9 @@ import java.util.Optional; */ public class SyncFileInfo { + private static final DateTimeFormatter DATE_TIME_FORMATTER = DateTimeFormatter + .ofPattern("yyyy-MM-dd.HH-mm-ss").withZone(ZoneOffset.UTC); + private final Path source; private final URI destination; private final Compression uploadCompression; @@ -53,12 +59,19 @@ public class SyncFileInfo { String filename = logFile.getFileName().toString(); Compression compression; String dir = null; + String remoteFilename = logFile.getFileName().toString(); Duration minDurationBetweenSync = null; if (filename.startsWith("vespa.log")) { dir = "logs/vespa/"; compression = Compression.ZSTD; minDurationBetweenSync = filename.length() == 9 ? rotatedOnly ? Duration.ofHours(1) : Duration.ZERO : null; + } else if (filename.startsWith("zookeeper.") && filename.endsWith(".log")) { + compression = Compression.ZSTD; + dir = "logs/zookeeper/"; + remoteFilename = filename.endsWith(".0.log") ? "zookeeper.log" : + "zookeeper.log-" + DATE_TIME_FORMATTER.format(new UnixPath(logFile).getLastModifiedTime()); + minDurationBetweenSync = filename.endsWith(".0.log") ? rotatedOnly ? Duration.ofHours(1) : Duration.ZERO : null; } else { compression = filename.endsWith(".zst") ? Compression.NONE : Compression.ZSTD; if (rotatedOnly && compression != Compression.NONE) @@ -71,7 +84,7 @@ public class SyncFileInfo { if (dir == null) return Optional.empty(); return Optional.of(new SyncFileInfo( - logFile, uri.resolve(dir + logFile.getFileName() + compression.extension), compression, defaultTags(owner), + logFile, uri.resolve(dir + remoteFilename + compression.extension), compression, defaultTags(owner), minDurationBetweenSync)); } |