Skip to content

Commit ff57b2a

Browse files
Fix Netty buffer leak in ReactorNettyClient response handling
Co-authored-by: FabianMeiswinkel <[email protected]>
1 parent ac4c256 commit ff57b2a

File tree

1 file changed

+3
-5
lines changed

1 file changed

+3
-5
lines changed

sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/http/ReactorNettyClient.java

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -357,8 +357,8 @@ public Mono<ByteBuf> body() {
357357
if (leakDetectionDebuggingEnabled && buf.refCnt() > 0) {
358358
buf.touch("ReactorNettyHttpResponse.body - onDiscard - refCnt: " + buf.refCnt());
359359
logger.info("ReactorNettyHttpResponse.body - onDiscard - refCnt: {}", buf.refCnt());
360-
ReferenceCountUtil.safeRelease(buf);
361360
}
361+
ReferenceCountUtil.safeRelease(buf);
362362
})
363363
)
364364
.aggregate()
@@ -417,14 +417,12 @@ private void releaseOnNotSubscribedResponse(ReactorNettyResponseState reactorNet
417417
}
418418

419419
body()
420-
.map(buf -> {
420+
.doOnNext(buf -> {
421421
if (leakDetectionDebuggingEnabled && buf.refCnt() > 0) {
422422
buf.touch("ReactorNettyHttpResponse.releaseOnNotSubscribedResponse - refCnt: " + buf.refCnt());
423423
logger.info("ReactorNettyHttpResponse.releaseOnNotSubscribedResponse - refCnt: {}", buf.refCnt());
424-
ReferenceCountUtil.safeRelease(buf);
425424
}
426-
427-
return buf;
425+
ReferenceCountUtil.safeRelease(buf);
428426
})
429427
.subscribe(v -> {}, ex -> {}, () -> {});
430428
}

0 commit comments

Comments
 (0)