You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by ap...@apache.org on 2016/09/26 20:55:48 UTC
[3/3] hbase git commit: HBASE-16694 Reduce garbage for onDiskChecksum
in HFileBlock (binlijin)
HBASE-16694 Reduce garbage for onDiskChecksum in HFileBlock (binlijin)
Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/b9ec59eb
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/b9ec59eb
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/b9ec59eb
Branch: refs/heads/master
Commit: b9ec59ebbe0ea392bfe742a9f3774d9447722d42
Parents: f06c006
Author: Andrew Purtell <ap...@apache.org>
Authored: Mon Sep 26 13:49:10 2016 -0700
Committer: Andrew Purtell <ap...@apache.org>
Committed: Mon Sep 26 13:55:35 2016 -0700
----------------------------------------------------------------------
.../java/org/apache/hadoop/hbase/io/hfile/HFileBlock.java | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hbase/blob/b9ec59eb/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileBlock.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileBlock.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileBlock.java
index 14a5cd1..1535fa9 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileBlock.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileBlock.java
@@ -35,10 +35,10 @@ import org.apache.hadoop.hbase.Cell;
import org.apache.hadoop.hbase.HConstants;
import org.apache.hadoop.hbase.classification.InterfaceAudience;
import org.apache.hadoop.hbase.fs.HFileSystem;
-import org.apache.hadoop.hbase.io.FSDataInputStreamWrapper;
import org.apache.hadoop.hbase.io.ByteArrayOutputStream;
import org.apache.hadoop.hbase.io.ByteBuffInputStream;
import org.apache.hadoop.hbase.io.ByteBufferSupportDataOutputStream;
+import org.apache.hadoop.hbase.io.FSDataInputStreamWrapper;
import org.apache.hadoop.hbase.io.encoding.DataBlockEncoding;
import org.apache.hadoop.hbase.io.encoding.HFileBlockDecodingContext;
import org.apache.hadoop.hbase.io.encoding.HFileBlockDefaultDecodingContext;
@@ -870,7 +870,7 @@ public class HFileBlock implements Cacheable {
* part of onDiskBytesWithHeader. If data is uncompressed, then this
* variable stores the checksum data for this block.
*/
- private byte[] onDiskChecksum;
+ private byte[] onDiskChecksum = HConstants.EMPTY_BYTE_ARRAY;
/**
* Valid in the READY state. Contains the header and the uncompressed (but
@@ -1039,7 +1039,9 @@ public class HFileBlock implements Cacheable {
onDiskBlockBytesWithHeader.length + numBytes,
uncompressedBlockBytesWithHeader.length, onDiskBlockBytesWithHeader.length);
}
- onDiskChecksum = new byte[numBytes];
+ if (onDiskChecksum.length != numBytes) {
+ onDiskChecksum = new byte[numBytes];
+ }
ChecksumUtil.generateChecksums(
onDiskBlockBytesWithHeader, 0, onDiskBlockBytesWithHeader.length,
onDiskChecksum, 0, fileContext.getChecksumType(), fileContext.getBytesPerChecksum());