diff --git a/instrumentation/httpclient-5.0/src/main/java/org/apache/hc/client5/http/async/HttpAsyncClient_Instrumentation.java b/instrumentation/httpclient-5.0/src/main/java/org/apache/hc/client5/http/async/HttpAsyncClient_Instrumentation.java index e08d481132..df73b9fceb 100644 --- a/instrumentation/httpclient-5.0/src/main/java/org/apache/hc/client5/http/async/HttpAsyncClient_Instrumentation.java +++ b/instrumentation/httpclient-5.0/src/main/java/org/apache/hc/client5/http/async/HttpAsyncClient_Instrumentation.java @@ -41,6 +41,8 @@ public Future execute( Segment segment = InstrumentationUtils.startAsyncSegment(); HttpRequest request = ((BasicRequestProducer_Instrumentation)requestProducer).nrRequest; + // null out the NewField to prevent memory issues + ((BasicRequestProducer_Instrumentation)requestProducer).nrRequest = null; InstrumentationUtils.doOutboundCAT(request, segment); Token token = NewRelic.getAgent().getTransaction().getToken(); diff --git a/instrumentation/httpclient-5.0/src/main/java/org/apache/hc/core5/http/nio/support/BasicRequestProducer_Instrumentation.java b/instrumentation/httpclient-5.0/src/main/java/org/apache/hc/core5/http/nio/support/BasicRequestProducer_Instrumentation.java index ee9cfddc59..a18cfa0e0a 100644 --- a/instrumentation/httpclient-5.0/src/main/java/org/apache/hc/core5/http/nio/support/BasicRequestProducer_Instrumentation.java +++ b/instrumentation/httpclient-5.0/src/main/java/org/apache/hc/core5/http/nio/support/BasicRequestProducer_Instrumentation.java @@ -17,7 +17,7 @@ public class BasicRequestProducer_Instrumentation { @NewField - public final HttpRequest nrRequest; + public HttpRequest nrRequest; public BasicRequestProducer_Instrumentation(final HttpRequest request, final AsyncEntityProducer dataProducer) { nrRequest = request;