You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by mb...@apache.org on 2012/09/04 22:21:41 UTC
svn commit: r1380850 -
/hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/thrift/ThriftServerRunner.java
Author: mbautin
Date: Tue Sep 4 20:21:40 2012
New Revision: 1380850
URL: http://svn.apache.org/viewvc?rev=1380850&view=rev
Log:
[jira] [HBASE-6705] [89-fb] Refactor duplicate CF parsing code in ThriftServerRunner
Author: mbautin
Summary: We have a lot of repetitive code conditional on famAndQf.length <= 1. Refactoring that into a function.
Test Plan: Unit tests
Reviewers: kannan, aaiyer, kranganathan
Reviewed By: aaiyer
Differential Revision: https://reviews.facebook.net/D5091
Modified:
hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/thrift/ThriftServerRunner.java
Modified: hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/thrift/ThriftServerRunner.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/thrift/ThriftServerRunner.java?rev=1380850&r1=1380849&r2=1380850&view=diff
==============================================================================
--- hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/thrift/ThriftServerRunner.java (original)
+++ hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/thrift/ThriftServerRunner.java Tue Sep 4 20:21:40 2012
@@ -630,10 +630,7 @@ public class ThriftServerRunner implemen
byte [][] famAndQf = KeyValue.parseColumn(getBytes(column));
byte[] tableNameBytes = getBytes(tableName);
byte[] rowBytes = getBytes(row);
- if(famAndQf.length == 1) {
- return get(tableNameBytes, rowBytes, famAndQf[0], HConstants.EMPTY_BYTE_ARRAY);
- }
- return get(tableNameBytes, rowBytes, famAndQf[0], famAndQf[1]);
+ return get(tableNameBytes, rowBytes, famAndQf[0], getQualifier(famAndQf));
}
public List<TCell> get(byte [] tableName, byte [] row, byte [] family,
@@ -659,7 +656,7 @@ public class ThriftServerRunner implemen
ByteBuffer column, int numVersions) throws IOError {
byte [][] famAndQf = KeyValue.parseColumn(getBytes(column));
return getVer(getBytes(tableName), getBytes(row), famAndQf[0],
- famAndQf.length <= 1 ? HConstants.EMPTY_BYTE_ARRAY : famAndQf[1], numVersions);
+ getQualifier(famAndQf), numVersions);
}
public List<TCell> getVer(byte [] tableName, byte [] row, byte [] family,
@@ -682,7 +679,7 @@ public class ThriftServerRunner implemen
ByteBuffer column, long timestamp, int numVersions) throws IOError {
byte [][] famAndQf = KeyValue.parseColumn(getBytes(column));
return getVerTs(getBytes(tableName), getBytes(row),
- famAndQf[0], famAndQf.length <= 1 ? HConstants.EMPTY_BYTE_ARRAY : famAndQf[1],
+ famAndQf[0], getQualifier(famAndQf),
timestamp, numVersions);
}
@@ -952,12 +949,7 @@ public class ThriftServerRunner implemen
if (put == null) {
put = new Put(rowBytes, timestamp, null);
}
- if (famAndQf.length == 1) {
- put.add(famAndQf[0], HConstants.EMPTY_BYTE_ARRAY, effectiveTimestamp,
- getBytes(m.value));
- } else {
- put.add(famAndQf[0], famAndQf[1], effectiveTimestamp, getBytes(m.value));
- }
+ put.add(famAndQf[0], getQualifier(famAndQf), effectiveTimestamp, getBytes(m.value));
}
if (firstMutation) {
@@ -1030,12 +1022,8 @@ public class ThriftServerRunner implemen
if (put == null) {
put = new Put(row, timestamp, null);
}
- if(famAndQf.length == 1) {
- put.add(famAndQf[0], HConstants.EMPTY_BYTE_ARRAY, effectiveTimestamp,
- getBytes(m.value));
- } else {
- put.add(famAndQf[0], famAndQf[1], effectiveTimestamp, getBytes(m.value));
- }
+ put.add(famAndQf[0], getQualifier(famAndQf), effectiveTimestamp,
+ getBytes(m.value));
}
if (firstMutation) {
// Remember the first mutation's writeToWAL status.
@@ -1127,11 +1115,7 @@ public class ThriftServerRunner implemen
}
} else {
byte[] valueBytes = getBytes(m.value);
- if (famAndQf.length == 1) {
- put.add(famAndQf[0], HConstants.EMPTY_BYTE_ARRAY, effectiveTimestamp, valueBytes);
- } else {
- put.add(famAndQf[0], famAndQf[1], effectiveTimestamp, valueBytes);
- }
+ put.add(famAndQf[0], getQualifier(famAndQf), effectiveTimestamp, valueBytes);
}
}
byte[][] famAndQfCheck = KeyValue.parseColumn(getBytes(columnCheck));
@@ -1144,13 +1128,11 @@ public class ThriftServerRunner implemen
}
if (!delete.isEmpty()) {
return table.checkAndDelete(rowBytes, famAndQfCheck[0],
- famAndQfCheck.length != 1 ? famAndQfCheck[1]
- : HConstants.EMPTY_BYTE_ARRAY, valueCheckBytes, delete);
+ getQualifier(famAndQfCheck), valueCheckBytes, delete);
}
if (!put.isEmpty()) {
return table.checkAndPut(rowBytes, famAndQfCheck[0],
- famAndQfCheck.length != 1 ? famAndQfCheck[1]
- : HConstants.EMPTY_BYTE_ARRAY, valueCheckBytes, put);
+ getQualifier(famAndQfCheck), valueCheckBytes, put);
}
throw new IllegalArgument(
"Thrift CheckAndMutate call must do either put or delete.");
@@ -1167,7 +1149,7 @@ public class ThriftServerRunner implemen
long amount) throws IOError, IllegalArgument, TException {
byte [][] famAndQf = KeyValue.parseColumn(getBytes(column));
return atomicIncrement(getBytes(tableName), getBytes(row), famAndQf[0],
- famAndQf.length <= 1 ? HConstants.EMPTY_BYTE_ARRAY : famAndQf[1], amount);
+ getQualifier(famAndQf), amount);
}
public long atomicIncrement(byte [] tableName, byte [] row, byte [] family,
@@ -1509,5 +1491,12 @@ public class ThriftServerRunner implemen
}
return new IOError(e.getMessage(), 0);
}
-
+
+ private static byte[] getQualifier(byte[][] familyAndQualifier) {
+ if (familyAndQualifier.length > 1) {
+ return familyAndQualifier[1];
+ }
+ return HConstants.EMPTY_BYTE_ARRAY;
+ }
+
}