From 6a614640335789de8d9694212f58207131831202 Mon Sep 17 00:00:00 2001 From: Lari Hotari Date: Thu, 13 Feb 2025 01:29:54 +0200 Subject: [PATCH] [fix][client] Fix memory leak in ClientCnx.newLookup when there's TooManyRequestsException (#23971) --- .../src/main/java/org/apache/pulsar/client/impl/ClientCnx.java | 1 + 1 file changed, 1 insertion(+) diff --git a/pulsar-client/src/main/java/org/apache/pulsar/client/impl/ClientCnx.java b/pulsar-client/src/main/java/org/apache/pulsar/client/impl/ClientCnx.java index 35c41455e8987..ab02c89c298ed 100644 --- a/pulsar-client/src/main/java/org/apache/pulsar/client/impl/ClientCnx.java +++ b/pulsar-client/src/main/java/org/apache/pulsar/client/impl/ClientCnx.java @@ -925,6 +925,7 @@ public CompletableFuture newLookup(ByteBuf request, long reque if (maxLookupRequestSemaphore.tryAcquire()) { waitingLookupRequests.add(Pair.of(requestId, Pair.of(request, future))); } else { + request.release(); if (log.isDebugEnabled()) { log.debug("{} Failed to add lookup-request into waiting queue", requestId); }