You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by la...@apache.org on 2016/11/01 19:48:15 UTC

[37/50] 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/6903296a
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/6903296a
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/6903296a

Branch: refs/heads/0.98
Commit: 6903296a3c181958eda82d0e2cbe24aba986efda
Parents: 1bdf05b
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:26 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/6903296a/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 46e2ba1..546e1c6 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
@@ -773,7 +773,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
@@ -918,7 +918,9 @@ public class HFileBlock implements Cacheable {
           onDiskBytesWithHeader.length + numBytes,
           uncompressedBytesWithHeader.length, onDiskBytesWithHeader.length);
 
-      onDiskChecksum = new byte[numBytes];
+      if (onDiskChecksum.length != numBytes) {
+        onDiskChecksum = new byte[numBytes];
+      }
       ChecksumUtil.generateChecksums(
           onDiskBytesWithHeader, 0, onDiskBytesWithHeader.length,
           onDiskChecksum, 0, fileContext.getChecksumType(), fileContext.getBytesPerChecksum());