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;