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:47 UTC
[2/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/67a43c30
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/67a43c30
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/67a43c30
Branch: refs/heads/branch-1
Commit: 67a43c30594329dc4a0de19787d2796e05f0b2c8
Parents: 4566e4d
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:28 2016 -0700
----------------------------------------------------------------------
.../main/java/org/apache/hadoop/hbase/io/hfile/HFileBlock.java | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hbase/blob/67a43c30/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 b2ed8d4..d5f5a69 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
@@ -855,7 +855,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
@@ -1027,7 +1027,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());