diff --git a/CHANGES.md b/CHANGES.md index 868ab83ac..bb0584425 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -31,6 +31,7 @@ Release Notes. * Fixed part of the dynamic configuration of ConfigurationDiscoveryService that does not take effect under certain circumstances. * Introduce method interceptor API v2 * Fix ClassCast issue for RequestHolder/ResponseHolder. +* fixed `jdk-threading-plugin` memory leak. #### OAP-Backend * BugFix: filter invalid Envoy access logs whose socket address is empty. diff --git a/apm-sniffer/bootstrap-plugins/jdk-threading-plugin/src/main/java/org/apache/skywalking/apm/plugin/jdk/threading/ThreadingMethodInterceptor.java b/apm-sniffer/bootstrap-plugins/jdk-threading-plugin/src/main/java/org/apache/skywalking/apm/plugin/jdk/threading/ThreadingMethodInterceptor.java index 6cf0107e7..e045b30ee 100644 --- a/apm-sniffer/bootstrap-plugins/jdk-threading-plugin/src/main/java/org/apache/skywalking/apm/plugin/jdk/threading/ThreadingMethodInterceptor.java +++ b/apm-sniffer/bootstrap-plugins/jdk-threading-plugin/src/main/java/org/apache/skywalking/apm/plugin/jdk/threading/ThreadingMethodInterceptor.java @@ -48,12 +48,7 @@ public class ThreadingMethodInterceptor implements InstanceMethodsAroundIntercep @Override public Object afterMethod(final EnhancedInstance objInst, final Method method, final Object[] allArguments, final Class[] argumentsTypes, final Object ret) { - - final Object storedField = objInst.getSkyWalkingDynamicField(); - if (storedField != null) { - ContextManager.stopSpan(); - } - + ContextManager.stopSpan(); return ret; }