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 2012/08/21 19:05:17 UTC

svn commit: r1375663 - in /hbase/trunk: hbase-common/src/main/java/org/apache/hadoop/hbase/KeyValue.java hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderV2.java

Author: larsh
Date: Tue Aug 21 17:05:17 2012
New Revision: 1375663

URL: http://svn.apache.org/viewvc?rev=1375663&view=rev
Log:
HBASE-6621 Reduce calls to Bytes.toInt

Modified:
    hbase/trunk/hbase-common/src/main/java/org/apache/hadoop/hbase/KeyValue.java
    hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderV2.java

Modified: hbase/trunk/hbase-common/src/main/java/org/apache/hadoop/hbase/KeyValue.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-common/src/main/java/org/apache/hadoop/hbase/KeyValue.java?rev=1375663&r1=1375662&r2=1375663&view=diff
==============================================================================
--- hbase/trunk/hbase-common/src/main/java/org/apache/hadoop/hbase/KeyValue.java (original)
+++ hbase/trunk/hbase-common/src/main/java/org/apache/hadoop/hbase/KeyValue.java Tue Aug 21 17:05:17 2012
@@ -316,6 +316,21 @@ public class KeyValue implements Writabl
     this.length = length;
   }
 
+  /**
+   * Creates a KeyValue from the specified byte array, starting at offset,
+   * for length <code>length</code>, and a known <code>keyLength</code>.
+   * @param bytes byte array
+   * @param offset offset to start of the KeyValue
+   * @param length length of the KeyValue
+   * @param keyLength length of the key portion of the KeyValue
+   */
+  public KeyValue(final byte [] bytes, final int offset, final int length, final int keyLength) {
+    this.bytes = bytes;
+    this.offset = offset;
+    this.length = length;
+    this.keyLength = keyLength;
+  }
+
   /** Constructors that build a new backing byte array from fields */
 
   /**

Modified: hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderV2.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderV2.java?rev=1375663&r1=1375662&r2=1375663&view=diff
==============================================================================
--- hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderV2.java (original)
+++ hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderV2.java Tue Aug 21 17:05:17 2012
@@ -606,7 +606,9 @@ public class HFileReaderV2 extends Abstr
         return null;
 
       KeyValue ret = new KeyValue(blockBuffer.array(),
-          blockBuffer.arrayOffset() + blockBuffer.position());
+          blockBuffer.arrayOffset() + blockBuffer.position(),
+          KEY_VALUE_LEN_SIZE + currKeyLen + currValueLen,
+          currKeyLen);
       if (this.reader.shouldIncludeMemstoreTS()) {
         ret.setMemstoreTS(currMemstoreTS);
       }