From ef525252f8eadd7593aea702a984b086ff22d3bd Mon Sep 17 00:00:00 2001 From: Henning Baldersheim Date: Wed, 26 Sep 2018 21:01:24 +0200 Subject: Do not try to compress or in any way handle a file that does not exist. --- .../com/yahoo/container/logging/LogFileHandler.java | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) (limited to 'container-accesslogging') diff --git a/container-accesslogging/src/main/java/com/yahoo/container/logging/LogFileHandler.java b/container-accesslogging/src/main/java/com/yahoo/container/logging/LogFileHandler.java index 9963429bf97..2e361d9016f 100644 --- a/container-accesslogging/src/main/java/com/yahoo/container/logging/LogFileHandler.java +++ b/container-accesslogging/src/main/java/com/yahoo/container/logging/LogFileHandler.java @@ -265,24 +265,26 @@ public class LogFileHandler extends StreamHandler { lastRotationTime = now; nextRotationTime = 0; //figure it out later (lazy evaluation) if ((oldFileName != null)) { - if (compressOnRotation) { - triggerCompression(oldFileName); - } else { - NativeIO nativeIO = new NativeIO(); - nativeIO.dropFileFromCache(new File(oldFileName)); + File oldFile = new File(oldFileName); + if (oldFile.exists()) { + if (compressOnRotation) { + triggerCompression(oldFile); + } else { + NativeIO nativeIO = new NativeIO(); + nativeIO.dropFileFromCache(oldFile); + } } } } - private void triggerCompression(String oldFileName) { + private void triggerCompression(File oldFile) { try { - String gzippedFileName = oldFileName + ".gz"; + String gzippedFileName = oldFile.getName() + ".gz"; Runtime r = Runtime.getRuntime(); StringBuilder cmd = new StringBuilder("gzip"); - cmd.append(" < "). append(oldFileName).append(" > ").append(gzippedFileName); + cmd.append(" < "). append(oldFile.getName()).append(" > ").append(gzippedFileName); Process p = r.exec(cmd.toString()); NativeIO nativeIO = new NativeIO(); - File oldFile = new File(oldFileName); nativeIO.dropFileFromCache(oldFile); // Drop from cache in case somebody else has a reference to it preventing from dying quickly. oldFile.delete(); nativeIO.dropFileFromCache(new File(gzippedFileName)); -- cgit v1.2.3