This is an automated email from the ASF dual-hosted git repository. lhotari pushed a commit to branch branch-2.7 in repository https://gitbox.apache.org/repos/asf/pulsar.git
commit e7c1e40d41ab222de4c848718ffdd5739c951fa2 Author: Lari Hotari <[email protected]> AuthorDate: Wed Jun 2 05:38:22 2021 +0300 Release OpAddEntry.data when entry is copied and discarded (#10773) Fixes #10738 There's a ByteBuf leak that happens in ledger rollover. The repro case in #10738 reproduces some Netty ByteBuf leaks that are detected by the Netty Leak detector. Release `OpAddEntry.data` when the original entry is copied and discarded This PR was split out of PR #10755 which was closed without merging. --- .../main/java/org/apache/bookkeeper/mledger/impl/ManagedLedgerImpl.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/managed-ledger/src/main/java/org/apache/bookkeeper/mledger/impl/ManagedLedgerImpl.java b/managed-ledger/src/main/java/org/apache/bookkeeper/mledger/impl/ManagedLedgerImpl.java index 7b0ae90..e3b83cc 100644 --- a/managed-ledger/src/main/java/org/apache/bookkeeper/mledger/impl/ManagedLedgerImpl.java +++ b/managed-ledger/src/main/java/org/apache/bookkeeper/mledger/impl/ManagedLedgerImpl.java @@ -1399,6 +1399,8 @@ public class ManagedLedgerImpl implements ManagedLedger, CreateCallback { if (existsOp.ledger != null) { existsOp.close(); existsOp = OpAddEntry.create(existsOp.ml, existsOp.data, existsOp.callback, existsOp.ctx); + // release the extra retain + ReferenceCountUtil.release(existsOp.data); } existsOp.setLedger(currentLedger); pendingAddEntries.add(existsOp);
