aboutsummaryrefslogtreecommitdiffstats
path: root/jdisc_http_service/src/main/java/com/yahoo
diff options
context:
space:
mode:
authorBjørn Christian Seime <bjorncs@verizonmedia.com>2021-01-22 17:12:32 +0100
committerBjørn Christian Seime <bjorncs@verizonmedia.com>2021-01-22 17:13:26 +0100
commit80abe89ea168132df7f8808f5408e6f08fcfd166 (patch)
treeff480278cd65c410329874469333b169c4c109f9 /jdisc_http_service/src/main/java/com/yahoo
parent56dc9397ed76cf1424216fc22984434c546550cf (diff)
Ensure that 'currentOutputStream' before use
Diffstat (limited to 'jdisc_http_service/src/main/java/com/yahoo')
-rw-r--r--jdisc_http_service/src/main/java/com/yahoo/container/logging/LogFileHandler.java21
1 files changed, 7 insertions, 14 deletions
diff --git a/jdisc_http_service/src/main/java/com/yahoo/container/logging/LogFileHandler.java b/jdisc_http_service/src/main/java/com/yahoo/container/logging/LogFileHandler.java
index 9a75717af5c..b764f813c41 100644
--- a/jdisc_http_service/src/main/java/com/yahoo/container/logging/LogFileHandler.java
+++ b/jdisc_http_service/src/main/java/com/yahoo/container/logging/LogFileHandler.java
@@ -13,11 +13,6 @@ import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
-import java.io.OutputStream;
-import java.io.OutputStreamWriter;
-import java.io.UnsupportedEncodingException;
-import java.io.Writer;
-import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
@@ -28,12 +23,8 @@ import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicBoolean;
-import java.util.logging.ErrorManager;
-import java.util.logging.Formatter;
import java.util.logging.Level;
-import java.util.logging.LogRecord;
import java.util.logging.Logger;
-import java.util.logging.StreamHandler;
import java.util.zip.GZIPOutputStream;
/**
@@ -143,15 +134,16 @@ class LogFileHandler <LOGTYPE> {
public synchronized void flush() {
try {
- if (currentOutputStream != null) {
+ FileOutputStream currentOut = this.currentOutputStream;
+ if (currentOut != null) {
if (compression == Compression.GZIP) {
- long newPos = currentOutputStream.getChannel().position();
+ long newPos = currentOut.getChannel().position();
if (newPos > lastDropPosition + 102400) {
- nativeIO.dropPartialFileFromCache(currentOutputStream.getFD(), lastDropPosition, newPos, true);
+ nativeIO.dropPartialFileFromCache(currentOut.getFD(), lastDropPosition, newPos, true);
lastDropPosition = newPos;
}
} else {
- currentOutputStream.flush();
+ currentOut.flush();
}
}
} catch (IOException e) {
@@ -162,7 +154,8 @@ class LogFileHandler <LOGTYPE> {
public void close() {
try {
flush();
- currentOutputStream.close();
+ FileOutputStream currentOut = this.currentOutputStream;
+ if (currentOut != null) currentOut.close();
} catch (Exception e) {
logger.log(Level.WARNING, "Got error while closing log file", e);
}