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();