diff --git a/CHANGES.txt b/CHANGES.txt
index 90c9b0c6db5..89a4c50eb96 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -235,6 +235,7 @@ Release 0.20.0 - Unreleased
HBASE-1437 broken links in hbase.org
HBASE-1582 Translate ColumnValueFilter and RowFilterSet to the new Filter
interface
+ HBASE-1594 Fix scan addcolumns after hbase-1385 commit (broken hudson build)
IMPROVEMENTS
HBASE-1089 Add count of regions on filesystem to master UI; add percentage
diff --git a/src/java/org/apache/hadoop/hbase/KeyValue.java b/src/java/org/apache/hadoop/hbase/KeyValue.java
index a1ac6d0d924..e02c7216b69 100644
--- a/src/java/org/apache/hadoop/hbase/KeyValue.java
+++ b/src/java/org/apache/hadoop/hbase/KeyValue.java
@@ -1183,9 +1183,12 @@ public class KeyValue implements Writable, HeapSize {
*/
public static byte [][] parseColumn(byte [] c) {
final byte [][] result = new byte [2][];
- final int index = getFamilyDelimiterIndex(c, 0, c.length);
+ final int index = getDelimiter(c, 0, c.length, COLUMN_FAMILY_DELIMITER);
if (index == -1) {
- throw new IllegalArgumentException("Impossible column name: " + c);
+ // If no delimiter, return c
as family and null qualifier.
+ result[0] = c;
+ result[1] = null;
+ return result;
}
result[0] = new byte [index];
System.arraycopy(c, 0, result[0], 0, index);
diff --git a/src/java/org/apache/hadoop/hbase/client/Scan.java b/src/java/org/apache/hadoop/hbase/client/Scan.java
index e3770403045..baa82d6d2e2 100644
--- a/src/java/org/apache/hadoop/hbase/client/Scan.java
+++ b/src/java/org/apache/hadoop/hbase/client/Scan.java
@@ -177,8 +177,8 @@ public class Scan implements Writable {
* @throws IllegalArgumentException When the colon is missing.
*/
public Scan addColumn(byte[] familyAndQualifier) {
- byte[][] fq = KeyValue.parseColumn(familyAndQualifier);
- if (fq[1].length > 0) {
+ byte [][] fq = KeyValue.parseColumn(familyAndQualifier);
+ if (fq.length > 1 && fq[1] != null && fq[1].length > 0) {
addColumn(fq[0], fq[1]);
} else {
addFamily(fq[0]);
@@ -187,14 +187,14 @@ public class Scan implements Writable {
}
/**
- * Adds an array of columns specified the old format, family:qualifier.
+ * Adds an array of columns specified using old format, family:qualifier.
*
* Overrides previous calls to addFamily for any families in the input. * * @param columns array of columns, formatted as
family:qualifier*/ public Scan addColumns(byte [][] columns) { - for(int i=0; i