diff options
author | Andreas Eriksen <andreer@verizonmedia.com> | 2021-02-25 14:37:09 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-02-25 14:37:09 +0100 |
commit | f8860affa5d88eafb99f3d16a8c33ba5fbd6b4a9 (patch) | |
tree | d5330dbbfcb0bfae2c11c299dc1a636b8aec9af7 /jdisc_http_service/src/test | |
parent | b17daad2cbff98d1cff1133f6f88c605b07fd001 (diff) |
compress previous log file on startup (#16674)
Diffstat (limited to 'jdisc_http_service/src/test')
-rw-r--r-- | jdisc_http_service/src/test/java/com/yahoo/container/logging/LogFileHandlerTestCase.java | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/jdisc_http_service/src/test/java/com/yahoo/container/logging/LogFileHandlerTestCase.java b/jdisc_http_service/src/test/java/com/yahoo/container/logging/LogFileHandlerTestCase.java index 8f78530327e..dad8f5e3f90 100644 --- a/jdisc_http_service/src/test/java/com/yahoo/container/logging/LogFileHandlerTestCase.java +++ b/jdisc_http_service/src/test/java/com/yahoo/container/logging/LogFileHandlerTestCase.java @@ -125,6 +125,30 @@ public class LogFileHandlerTestCase { } @Test(timeout = /*5 minutes*/300_000) + public void compresses_previous_log_file() throws InterruptedException, IOException { + File root = temporaryFolder.newFolder("compressespreviouslogfile"); + LogFileHandler<String> firstHandler = new LogFileHandler<>( + Compression.ZSTD, root.getAbsolutePath() + "/compressespreviouslogfile.%Y%m%d%H%M%S%s", new long[]{0}, "symlink", 2048, "thread-name", new StringLogWriter()); + firstHandler.publishAndWait("test"); + firstHandler.shutdown(); + + assertThat(Files.size(Paths.get(firstHandler.getFileName()))).isEqualTo(5); + assertThat(root.toPath().resolve("symlink").toRealPath().toString()).isEqualTo(firstHandler.getFileName()); + + LogFileHandler<String> secondHandler = new LogFileHandler<>( + Compression.ZSTD, root.getAbsolutePath() + "/compressespreviouslogfile.%Y%m%d%H%M%S%s", new long[]{0}, "symlink", 2048, "thread-name", new StringLogWriter()); + secondHandler.publishAndWait("test"); + secondHandler.rotateNow(); + + assertThat(root.toPath().resolve("symlink").toRealPath().toString()).isEqualTo(secondHandler.getFileName()); + + while (Files.exists(root.toPath().resolve(firstHandler.getFileName()))) Thread.sleep(1); + + assertThat(Files.exists(Paths.get(firstHandler.getFileName() + ".zst"))).isTrue(); + secondHandler.shutdown(); + } + + @Test(timeout = /*5 minutes*/300_000) public void testcompression_gzip() throws InterruptedException, IOException { testcompression( Compression.GZIP, "gz", |