From eee890a783452d2aa4c74fd170ff1f124b3e9e19 Mon Sep 17 00:00:00 2001 From: Michael Peterson Date: Fri, 14 Mar 2025 13:53:32 -0400 Subject: [PATCH] Fix resource leak in CrossClusterSearchUnavailableClusterIT (#124880) Fixes https://github.com/elastic/elasticsearch/issues/123814 --- .../CrossClusterSearchUnavailableClusterIT.java | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/qa/ccs-unavailable-clusters/src/javaRestTest/java/org/elasticsearch/search/CrossClusterSearchUnavailableClusterIT.java b/qa/ccs-unavailable-clusters/src/javaRestTest/java/org/elasticsearch/search/CrossClusterSearchUnavailableClusterIT.java index c80bcc79f8f6..fdc9b69d1d14 100644 --- a/qa/ccs-unavailable-clusters/src/javaRestTest/java/org/elasticsearch/search/CrossClusterSearchUnavailableClusterIT.java +++ b/qa/ccs-unavailable-clusters/src/javaRestTest/java/org/elasticsearch/search/CrossClusterSearchUnavailableClusterIT.java @@ -91,7 +91,12 @@ public class CrossClusterSearchUnavailableClusterIT extends ESRestTestCase { EsExecutors.DIRECT_EXECUTOR_SERVICE, SearchShardsRequest::new, (request, channel, task) -> { - channel.sendResponse(new SearchShardsResponse(List.of(), List.of(), Collections.emptyMap())); + var searchShardsResponse = new SearchShardsResponse(List.of(), List.of(), Collections.emptyMap()); + try { + channel.sendResponse(searchShardsResponse); + } finally { + searchShardsResponse.decRef(); + } } ); newService.registerRequestHandler( @@ -119,7 +124,12 @@ public class CrossClusterSearchUnavailableClusterIT extends ESRestTestCase { builder.add(node); } ClusterState build = ClusterState.builder(clusterName).nodes(builder.build()).build(); - channel.sendResponse(new ClusterStateResponse(clusterName, build, false)); + var clusterStateResponse = new ClusterStateResponse(clusterName, build, false); + try { + channel.sendResponse(clusterStateResponse); + } finally { + clusterStateResponse.decRef(); + } } ); newService.start();