You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@bookkeeper.apache.org by si...@apache.org on 2018/03/16 17:23:42 UTC

[bookkeeper] branch branch-4.6 updated: Fix bytebuf leaking on `getLastAddConfirmed` (#1267)

This is an automated email from the ASF dual-hosted git repository.

sijie pushed a commit to branch branch-4.6
in repository https://gitbox.apache.org/repos/asf/bookkeeper.git


The following commit(s) were added to refs/heads/branch-4.6 by this push:
     new 586ace0  Fix bytebuf leaking on `getLastAddConfirmed` (#1267)
586ace0 is described below

commit 586ace096255caa44e7690831021995152d932ac
Author: Sijie Guo <gu...@gmail.com>
AuthorDate: Fri Mar 16 10:23:40 2018 -0700

    Fix bytebuf leaking on `getLastAddConfirmed` (#1267)
    
    This change is cherry-picking apache/bookkeeper@8b8c5515e041347e0fdd791534fa0a694c96c6ae#diff-55705379048304b4fd800432e743487eR250 to branch 4.6
---
 .../apache/bookkeeper/bookie/InterleavedLedgerStorage.java    | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/InterleavedLedgerStorage.java b/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/InterleavedLedgerStorage.java
index b654b0e..117d68d 100644
--- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/InterleavedLedgerStorage.java
+++ b/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/InterleavedLedgerStorage.java
@@ -240,10 +240,13 @@ public class InterleavedLedgerStorage implements CompactableLedgerStorage, Entry
             if (null == bb) {
                 return BookieProtocol.INVALID_ENTRY_ID;
             } else {
-                bb.readLong(); // ledger id
-                bb.readLong(); // entry id
-                lac = bb.readLong();
-                lac = ledgerCache.updateLastAddConfirmed(ledgerId, lac);
+                try {
+                    bb.skipBytes(2 * Long.BYTES); // skip ledger & entry id
+                    lac = bb.readLong();
+                    lac = ledgerCache.updateLastAddConfirmed(ledgerId, lac);
+                } finally {
+                    bb.release();
+                }
             }
         }
         return lac;

-- 
To stop receiving notification emails like this one, please contact
sijie@apache.org.