You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by li...@apache.org on 2016/09/27 00:26:25 UTC

[32/50] [abbrv] kylin git commit: KYLIN-2044 Fix unclosed DataInputByteBuffer in BitmapCounter#peekLength

KYLIN-2044 Fix unclosed DataInputByteBuffer in BitmapCounter#peekLength


Project: http://git-wip-us.apache.org/repos/asf/kylin/repo
Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/a346db51
Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/a346db51
Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/a346db51

Branch: refs/heads/1.5.x-HBase1.x
Commit: a346db5108b55acb667539a5269d1b1864ea3084
Parents: 818188d
Author: lidongsjtu <li...@apache.org>
Authored: Sat Sep 24 10:30:40 2016 +0800
Committer: lidongsjtu <li...@apache.org>
Committed: Sat Sep 24 10:42:46 2016 +0800

----------------------------------------------------------------------
 .../org/apache/kylin/measure/bitmap/BitmapCounter.java   | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/kylin/blob/a346db51/core-metadata/src/main/java/org/apache/kylin/measure/bitmap/BitmapCounter.java
----------------------------------------------------------------------
diff --git a/core-metadata/src/main/java/org/apache/kylin/measure/bitmap/BitmapCounter.java b/core-metadata/src/main/java/org/apache/kylin/measure/bitmap/BitmapCounter.java
index b52adde..d3b57a7 100644
--- a/core-metadata/src/main/java/org/apache/kylin/measure/bitmap/BitmapCounter.java
+++ b/core-metadata/src/main/java/org/apache/kylin/measure/bitmap/BitmapCounter.java
@@ -26,6 +26,7 @@ import java.io.InputStream;
 import java.nio.ByteBuffer;
 import java.util.Iterator;
 
+import org.apache.commons.io.IOUtils;
 import org.roaringbitmap.buffer.MutableRoaringBitmap;
 
 /**
@@ -97,8 +98,12 @@ public class BitmapCounter implements Comparable<BitmapCounter> {
 
     public void readRegisters(ByteBuffer in) throws IOException {
         DataInputByteBuffer input = new DataInputByteBuffer();
-        input.reset(new ByteBuffer[] { in });
-        bitmap.deserialize(input);
+        try {
+            input.reset(new ByteBuffer[] { in });
+            bitmap.deserialize(input);
+        } finally {
+            IOUtils.closeQuietly(input);
+        }
     }
 
     @Override
@@ -148,6 +153,8 @@ public class BitmapCounter implements Comparable<BitmapCounter> {
             bitmap.deserialize(input);
         } catch (IOException e) {
             throw new IllegalStateException(e);
+        } finally {
+            IOUtils.closeQuietly(input);
         }
 
         len = in.position() - mark;