You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by te...@apache.org on 2012/01/26 19:46:39 UTC
svn commit: r1236345 - in /hbase/branches/0.90: CHANGES.txt
src/main/java/org/apache/hadoop/hbase/KeyValue.java
src/test/java/org/apache/hadoop/hbase/TestKeyValue.java
Author: tedyu
Date: Thu Jan 26 18:46:38 2012
New Revision: 1236345
URL: http://svn.apache.org/viewvc?rev=1236345&view=rev
Log:
HBASE-5271 Result.getValue and Result.getColumnLatest return the wrong column (Ghais Issa)
Modified:
hbase/branches/0.90/CHANGES.txt
hbase/branches/0.90/src/main/java/org/apache/hadoop/hbase/KeyValue.java
hbase/branches/0.90/src/test/java/org/apache/hadoop/hbase/TestKeyValue.java
Modified: hbase/branches/0.90/CHANGES.txt
URL: http://svn.apache.org/viewvc/hbase/branches/0.90/CHANGES.txt?rev=1236345&r1=1236344&r2=1236345&view=diff
==============================================================================
--- hbase/branches/0.90/CHANGES.txt (original)
+++ hbase/branches/0.90/CHANGES.txt Thu Jan 26 18:46:38 2012
@@ -4,6 +4,7 @@ Release 0.90.7 - Unreleased
HBASE-5228 [REST] Rip out "transform" feature
BUG FIXES
+ HBASE-5271 Result.getValue and Result.getColumnLatest return the wrong column (Ghais Issa)
Release 0.90.6 - Unreleased
BUG FIXES
Modified: hbase/branches/0.90/src/main/java/org/apache/hadoop/hbase/KeyValue.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.90/src/main/java/org/apache/hadoop/hbase/KeyValue.java?rev=1236345&r1=1236344&r2=1236345&view=diff
==============================================================================
--- hbase/branches/0.90/src/main/java/org/apache/hadoop/hbase/KeyValue.java (original)
+++ hbase/branches/0.90/src/main/java/org/apache/hadoop/hbase/KeyValue.java Thu Jan 26 18:46:38 2012
@@ -1155,7 +1155,7 @@ public class KeyValue implements Writabl
int o = getFamilyOffset(rl);
int fl = getFamilyLength(o);
int ql = getQualifierLength(rl,fl);
- if (Bytes.compareTo(family, 0, family.length, this.bytes, o, family.length)
+ if (Bytes.compareTo(family, 0, family.length, this.bytes, o, fl)
!= 0) {
return false;
}
Modified: hbase/branches/0.90/src/test/java/org/apache/hadoop/hbase/TestKeyValue.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.90/src/test/java/org/apache/hadoop/hbase/TestKeyValue.java?rev=1236345&r1=1236344&r2=1236345&view=diff
==============================================================================
--- hbase/branches/0.90/src/test/java/org/apache/hadoop/hbase/TestKeyValue.java (original)
+++ hbase/branches/0.90/src/test/java/org/apache/hadoop/hbase/TestKeyValue.java Thu Jan 26 18:46:38 2012
@@ -54,6 +54,21 @@ public class TestKeyValue extends TestCa
assertFalse(aaa.matchingColumn(family2,qualifier2));
}
+ /**
+ * Test a corner case when the family qualifier is a prefix of the
+ * column qualifier.
+ */
+ public void testColumnCompare_prefix() throws Exception {
+ final byte [] a = Bytes.toBytes("aaa");
+ byte [] family1 = Bytes.toBytes("abc");
+ byte [] qualifier1 = Bytes.toBytes("def");
+ byte [] family2 = Bytes.toBytes("ab");
+ byte [] qualifier2 = Bytes.toBytes("def");
+
+ KeyValue aaa = new KeyValue(a, family1, qualifier1, 0L, Type.Put, a);
+ assertFalse(aaa.matchingColumn(family2, qualifier2));
+ }
+
public void testBasics() throws Exception {
LOG.info("LOWKEY: " + KeyValue.LOWESTKEY.toString());
check(Bytes.toBytes(getName()),