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 2013/08/03 02:41:42 UTC
svn commit: r1509921 - in /hbase/branches/0.94/src:
main/java/org/apache/hadoop/hbase/client/Append.java
test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java
Author: larsh
Date: Sat Aug 3 00:41:42 2013
New Revision: 1509921
URL: http://svn.apache.org/r1509921
Log:
HBASE-9115 HTableInterface.append operation may overwrites values (Ted Yu)
Modified:
hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/client/Append.java
hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java
Modified: hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/client/Append.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/client/Append.java?rev=1509921&r1=1509920&r2=1509921&view=diff
==============================================================================
--- hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/client/Append.java (original)
+++ hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/client/Append.java Sat Aug 3 00:41:42 2013
@@ -88,7 +88,13 @@ public class Append extends Mutation {
if(list == null) {
list = new ArrayList<KeyValue>();
}
- list.add(new KeyValue(
+ // find where the new entry should be placed in the List
+ int idx = 0;
+ for (KeyValue kv : list) {
+ if (Bytes.compareTo(qualifier, kv.getQualifier()) < 0) break;
+ idx ++;
+ }
+ list.add(idx, new KeyValue(
this.row, family, qualifier, this.ts, KeyValue.Type.Put, value));
familyMap.put(family, list);
return this;
Modified: hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java?rev=1509921&r1=1509920&r2=1509921&view=diff
==============================================================================
--- hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java (original)
+++ hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java Sat Aug 3 00:41:42 2013
@@ -4166,7 +4166,7 @@ public class TestFromClientSide {
byte[] v1 = Bytes.toBytes("42");
byte[] v2 = Bytes.toBytes("23");
byte [][] QUALIFIERS = new byte [][] {
- Bytes.toBytes("a"), Bytes.toBytes("b")
+ Bytes.toBytes("b"), Bytes.toBytes("a")
};
Append a = new Append(ROW);
a.add(FAMILY, QUALIFIERS[0], v1);