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:22 UTC
svn commit: r1190142 - in /hbase/branches/0.92: 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:21 2011
New Revision: 1190142
URL: http://svn.apache.org/viewvc?rev=1190142&view=rev
Log:
HBASE-4679 Thrift null mutation error
Modified:
hbase/branches/0.92/CHANGES.txt
hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/thrift/ThriftServer.java
hbase/branches/0.92/src/test/java/org/apache/hadoop/hbase/thrift/TestThriftServer.java
Modified: hbase/branches/0.92/CHANGES.txt
URL: http://svn.apache.org/viewvc/hbase/branches/0.92/CHANGES.txt?rev=1190142&r1=1190141&r2=1190142&view=diff
==============================================================================
--- hbase/branches/0.92/CHANGES.txt (original)
+++ hbase/branches/0.92/CHANGES.txt Fri Oct 28 03:29:21 2011
@@ -383,6 +383,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-4492 TestRollingRestart fails intermittently
Modified: hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/thrift/ThriftServer.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/thrift/ThriftServer.java?rev=1190142&r1=1190141&r2=1190142&view=diff
==============================================================================
--- hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/thrift/ThriftServer.java (original)
+++ hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/thrift/ThriftServer.java Fri Oct 28 03:29:21 2011
@@ -595,9 +595,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);
}
}
}
@@ -640,9 +644,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/branches/0.92/src/test/java/org/apache/hadoop/hbase/thrift/TestThriftServer.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.92/src/test/java/org/apache/hadoop/hbase/thrift/TestThriftServer.java?rev=1190142&r1=1190141&r2=1190142&view=diff
==============================================================================
--- hbase/branches/0.92/src/test/java/org/apache/hadoop/hbase/thrift/TestThriftServer.java (original)
+++ hbase/branches/0.92/src/test/java/org/apache/hadoop/hbase/thrift/TestThriftServer.java Fri Oct 28 03:29:21 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);