From 6e3eb0c4722bdcaef1f6cfff03a44fe6a26d51e6 Mon Sep 17 00:00:00 2001 From: stack Date: Mon, 11 May 2020 16:51:41 -0700 Subject: [PATCH] HBASE-24354 Make it so can make an hbase1 schema and hbase2 schema equate --- .../hadoop/hbase/client/ColumnFamilyDescriptorBuilder.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ColumnFamilyDescriptorBuilder.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ColumnFamilyDescriptorBuilder.java index 8e9ae47edd98..87579bf28b1c 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ColumnFamilyDescriptorBuilder.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ColumnFamilyDescriptorBuilder.java @@ -299,7 +299,11 @@ public static Map getDefaultValues() { DEFAULT_VALUES.put(CACHE_BLOOMS_ON_WRITE, String.valueOf(DEFAULT_CACHE_BLOOMS_ON_WRITE)); DEFAULT_VALUES.put(EVICT_BLOCKS_ON_CLOSE, String.valueOf(DEFAULT_EVICT_BLOCKS_ON_CLOSE)); DEFAULT_VALUES.put(PREFETCH_BLOCKS_ON_OPEN, String.valueOf(DEFAULT_PREFETCH_BLOCKS_ON_OPEN)); - DEFAULT_VALUES.put(NEW_VERSION_BEHAVIOR, String.valueOf(DEFAULT_NEW_VERSION_BEHAVIOR)); + // Do NOT add this key/value by default. NEW_VERSION_BEHAVIOR is NOT defined in hbase1 so + // it is not possible to make an hbase1 HCD the same as an hbase2 HCD and so the replication + // compare of schemas will fail. It is OK not adding the below to the initial map because of + // fetch of this value, we will check for null and if null will return the default. + // DEFAULT_VALUES.put(NEW_VERSION_BEHAVIOR, String.valueOf(DEFAULT_NEW_VERSION_BEHAVIOR)); DEFAULT_VALUES.keySet().forEach(s -> RESERVED_KEYWORDS.add(new Bytes(Bytes.toBytes(s)))); RESERVED_KEYWORDS.add(new Bytes(Bytes.toBytes(ENCRYPTION))); RESERVED_KEYWORDS.add(new Bytes(Bytes.toBytes(ENCRYPTION_KEY)));