commit a42fbdc94ab2eb8e102f0d673616b48351a94e2d Author: Alan Gates Date: Fri Jun 19 12:08:38 2015 -0700 HIVE-11057 HBase metastore chokes on partition with ':' in name diff --git metastore/src/java/org/apache/hadoop/hive/metastore/hbase/HBaseUtils.java metastore/src/java/org/apache/hadoop/hive/metastore/hbase/HBaseUtils.java index 7341fbb..969c979 100644 --- metastore/src/java/org/apache/hadoop/hive/metastore/hbase/HBaseUtils.java +++ metastore/src/java/org/apache/hadoop/hive/metastore/hbase/HBaseUtils.java @@ -74,7 +74,7 @@ class HBaseUtils { final static Charset ENCODING = StandardCharsets.UTF_8; - final static char KEY_SEPARATOR = ':'; + final static char KEY_SEPARATOR = '\u0001'; final static String KEY_SEPARATOR_STR = new String(new char[] {KEY_SEPARATOR}); static final private Log LOG = LogFactory.getLog(HBaseUtils.class.getName()); @@ -809,7 +809,7 @@ static StorageDescriptorParts deserializePartition(String dbName, String tableNa private static String[] deserializeKey(byte[] key) { String k = new String(key, ENCODING); - return k.split(":"); + return k.split(KEY_SEPARATOR_STR); } /**