From 5fa2ae49037b65112c68372da4e82959fd842832 Mon Sep 17 00:00:00 2001 From: Kdump Date: Wed, 7 Oct 2020 18:47:25 +0800 Subject: [PATCH] fix RESOURCE_LEAK (#5616) --- .../core/plugin/loader/AgentClassLoader.java | 2 +- .../ignore/conf/IgnoreConfigInitializer.java | 2 +- .../zipkin/handler/SpanProcessor.java | 29 ++++++++++--------- 3 files changed, 17 insertions(+), 16 deletions(-) diff --git a/apm-sniffer/apm-agent-core/src/main/java/org/apache/skywalking/apm/agent/core/plugin/loader/AgentClassLoader.java b/apm-sniffer/apm-agent-core/src/main/java/org/apache/skywalking/apm/agent/core/plugin/loader/AgentClassLoader.java index d6c806a86..18e6ffd26 100644 --- a/apm-sniffer/apm-agent-core/src/main/java/org/apache/skywalking/apm/agent/core/plugin/loader/AgentClassLoader.java +++ b/apm-sniffer/apm-agent-core/src/main/java/org/apache/skywalking/apm/agent/core/plugin/loader/AgentClassLoader.java @@ -209,4 +209,4 @@ public class AgentClassLoader extends ClassLoader { private final JarFile jarFile; private final File sourceFile; } -} +} \ No newline at end of file diff --git a/apm-sniffer/optional-plugins/trace-ignore-plugin/src/main/java/org/apache/skywalking/apm/plugin/trace/ignore/conf/IgnoreConfigInitializer.java b/apm-sniffer/optional-plugins/trace-ignore-plugin/src/main/java/org/apache/skywalking/apm/plugin/trace/ignore/conf/IgnoreConfigInitializer.java index 4dfe32485..b9b888bb4 100644 --- a/apm-sniffer/optional-plugins/trace-ignore-plugin/src/main/java/org/apache/skywalking/apm/plugin/trace/ignore/conf/IgnoreConfigInitializer.java +++ b/apm-sniffer/optional-plugins/trace-ignore-plugin/src/main/java/org/apache/skywalking/apm/plugin/trace/ignore/conf/IgnoreConfigInitializer.java @@ -98,4 +98,4 @@ public class IgnoreConfigInitializer { } throw new ConfigNotFoundException("Fail to load ignore config file."); } -} +} \ No newline at end of file diff --git a/oap-server/server-receiver-plugin/zipkin-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/zipkin/handler/SpanProcessor.java b/oap-server/server-receiver-plugin/zipkin-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/zipkin/handler/SpanProcessor.java index 0db5c22cb..44852de31 100644 --- a/oap-server/server-receiver-plugin/zipkin-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/zipkin/handler/SpanProcessor.java +++ b/oap-server/server-receiver-plugin/zipkin-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/zipkin/handler/SpanProcessor.java @@ -39,23 +39,24 @@ public class SpanProcessor { } void convert(ZipkinReceiverConfig config, SpanBytesDecoder decoder, HttpServletRequest request) throws IOException { - InputStream inputStream = getInputStream(request); - ByteArrayOutputStream out = new ByteArrayOutputStream(); - byte[] buffer = new byte[2048]; - int readCntOnce; + try (InputStream inputStream = getInputStream(request)) { + ByteArrayOutputStream out = new ByteArrayOutputStream(); + byte[] buffer = new byte[2048]; + int readCntOnce; - while ((readCntOnce = inputStream.read(buffer)) >= 0) { - out.write(buffer, 0, readCntOnce); - } + while ((readCntOnce = inputStream.read(buffer)) >= 0) { + out.write(buffer, 0, readCntOnce); + } - List spanList = decoder.decodeList(out.toByteArray()); + List spanList = decoder.decodeList(out.toByteArray()); - if (config.isNeedAnalysis()) { - ZipkinSkyWalkingTransfer transfer = new ZipkinSkyWalkingTransfer(); - transfer.doTransfer(config, spanList); - } else { - SpanForward forward = new SpanForward(config, receiver); - forward.send(spanList); + if (config.isNeedAnalysis()) { + ZipkinSkyWalkingTransfer transfer = new ZipkinSkyWalkingTransfer(); + transfer.doTransfer(config, spanList); + } else { + SpanForward forward = new SpanForward(config, receiver); + forward.send(spanList); + } } }