From c47ba03faa434d633e49d42026fdb37958976b02 Mon Sep 17 00:00:00 2001 From: Pierre De Rop Date: Fri, 16 Sep 2022 17:50:15 +0200 Subject: [PATCH] Avoid buf leak in TcpServerTests.retryStrategiesWhenServerFails by closing BOUNDARY in NettyOutbound.sendGroups --- .../src/main/java/reactor/netty5/NettyOutbound.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/reactor-netty5-core/src/main/java/reactor/netty5/NettyOutbound.java b/reactor-netty5-core/src/main/java/reactor/netty5/NettyOutbound.java index 9ae15ea9a8..dadf5624e4 100644 --- a/reactor-netty5-core/src/main/java/reactor/netty5/NettyOutbound.java +++ b/reactor-netty5-core/src/main/java/reactor/netty5/NettyOutbound.java @@ -42,6 +42,7 @@ import reactor.core.publisher.Mono; import static reactor.netty5.ReactorNetty.PREDICATE_GROUP_BOUNDARY; +import static reactor.netty5.ReactorNetty.PREDICATE_GROUP_FLUSH; /** * An outbound-traffic API delegating to an underlying {@link Channel}. @@ -236,7 +237,13 @@ default NettyOutbound sendGroups(Publisher .concatMap(p -> Flux.from(p) .concatWith(Mono.just(BOUNDARY.copy(0, BOUNDARY.readableBytes(), true))), 32) .doFinally(sig -> BOUNDARY.close()), - ReactorNetty.PREDICATE_GROUP_FLUSH); + buf -> { + boolean flush = PREDICATE_GROUP_FLUSH.test(buf); + if (flush) { + buf.close(); + } + return flush; + }); } /**