You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by ns...@apache.org on 2011/10/28 05:29:52 UTC
svn commit: r1190143 - in /hbase/trunk: CHANGES.txt
src/main/java/org/apache/hadoop/hbase/thrift/ThriftServer.java
src/test/java/org/apache/hadoop/hbase/thrift/TestThriftServer.java
Author: nspiegelberg
Date: Fri Oct 28 03:29:52 2011
New Revision: 1190143
URL: http://svn.apache.org/viewvc?rev=1190143&view=rev
Log:
HBASE-4679 Thrift null mutation error
Modified:
hbase/trunk/CHANGES.txt
hbase/trunk/src/main/java/org/apache/hadoop/hbase/thrift/ThriftServer.java
hbase/trunk/src/test/java/org/apache/hadoop/hbase/thrift/TestThriftServer.java
Modified: hbase/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/hbase/trunk/CHANGES.txt?rev=1190143&r1=1190142&r2=1190143&view=diff
==============================================================================
--- hbase/trunk/CHANGES.txt (original)
+++ hbase/trunk/CHANGES.txt Fri Oct 28 03:29:52 2011
@@ -414,6 +414,7 @@ Release 0.92.0 - Unreleased
of ArithmeticException: / by zero.
HBASE-4300 Start of new-version master fails if old master's znode is
hanging around
+ HBASE-4679 Thrift null mutation error
TESTS
HBASE-4450 test for number of blocks read: to serve as baseline for expected
Modified: hbase/trunk/src/main/java/org/apache/hadoop/hbase/thrift/ThriftServer.java
URL: http://svn.apache.org/viewvc/hbase/trunk/src/main/java/org/apache/hadoop/hbase/thrift/ThriftServer.java?rev=1190143&r1=1190142&r2=1190143&view=diff
==============================================================================
--- hbase/trunk/src/main/java/org/apache/hadoop/hbase/thrift/ThriftServer.java (original)
+++ hbase/trunk/src/main/java/org/apache/hadoop/hbase/thrift/ThriftServer.java Fri Oct 28 03:29:52 2011
@@ -597,9 +597,13 @@ public class ThriftServer {
}
} else {
if(famAndQf.length == 1) {
- put.add(famAndQf[0], new byte[0], getBytes(m.value));
+ put.add(famAndQf[0], HConstants.EMPTY_BYTE_ARRAY,
+ m.value != null ? m.value.array()
+ : HConstants.EMPTY_BYTE_ARRAY);
} else {
- put.add(famAndQf[0], famAndQf[1], getBytes(m.value));
+ put.add(famAndQf[0], famAndQf[1],
+ m.value != null ? m.value.array()
+ : HConstants.EMPTY_BYTE_ARRAY);
}
}
}
@@ -642,9 +646,13 @@ public class ThriftServer {
}
} else {
if(famAndQf.length == 1) {
- put.add(famAndQf[0], new byte[0], getBytes(m.value));
+ put.add(famAndQf[0], HConstants.EMPTY_BYTE_ARRAY,
+ m.value != null ? m.value.array()
+ : HConstants.EMPTY_BYTE_ARRAY);
} else {
- put.add(famAndQf[0], famAndQf[1], getBytes(m.value));
+ put.add(famAndQf[0], famAndQf[1],
+ m.value != null ? m.value.array()
+ : HConstants.EMPTY_BYTE_ARRAY);
}
}
}
Modified: hbase/trunk/src/test/java/org/apache/hadoop/hbase/thrift/TestThriftServer.java
URL: http://svn.apache.org/viewvc/hbase/trunk/src/test/java/org/apache/hadoop/hbase/thrift/TestThriftServer.java?rev=1190143&r1=1190142&r2=1190143&view=diff
==============================================================================
--- hbase/trunk/src/test/java/org/apache/hadoop/hbase/thrift/TestThriftServer.java (original)
+++ hbase/trunk/src/test/java/org/apache/hadoop/hbase/thrift/TestThriftServer.java Fri Oct 28 03:29:52 2011
@@ -179,6 +179,14 @@ public class TestThriftServer {
size = handler.getRow(tableAname, rowBname).size();
assertEquals(0, size);
+ // Try null mutation
+ List<Mutation> mutations = new ArrayList<Mutation>();
+ mutations.add(new Mutation(false, columnAname, null));
+ handler.mutateRow(tableAname, rowAname, mutations);
+ TRowResult rowResult3 = handler.getRow(tableAname, rowAname).get(0);
+ assertEquals(rowAname, rowResult3.row);
+ assertEquals(0, rowResult3.columns.get(columnAname).value.array().length);
+
// Teardown
handler.disableTable(tableAname);
handler.deleteTable(tableAname);