This is an automated email from the ASF dual-hosted git repository.

brfrn169 pushed a commit to branch branch-2
in repository https://gitbox.apache.org/repos/asf/hbase.git


The following commit(s) were added to refs/heads/branch-2 by this push:
     new 40e1c9e  HBASE-22529 Add sanity check for in-memory compaction policy
40e1c9e is described below

commit 40e1c9e31031eec5f909e52fbee19bcab7ccefc4
Author: Junegunn Choi <[email protected]>
AuthorDate: Wed Dec 4 13:55:53 2019 +0900

    HBASE-22529 Add sanity check for in-memory compaction policy
    
    Signed-off-by: Toshihiro Suzuki <[email protected]>
---
 .../java/org/apache/hadoop/hbase/util/TableDescriptorChecker.java  | 7 +++++++
 .../org/apache/hadoop/hbase/client/TestIllegalTableDescriptor.java | 5 +++++
 2 files changed, 12 insertions(+)

diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/util/TableDescriptorChecker.java
 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/util/TableDescriptorChecker.java
index a2ee1ff..3852a41 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/util/TableDescriptorChecker.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/util/TableDescriptorChecker.java
@@ -188,6 +188,13 @@ public final class TableDescriptorChecker {
             "  must be greater than zero.";
         warnOrThrowExceptionForFailure(logWarn, message, null);
       }
+
+      // check in-memory compaction
+      try {
+        hcd.getInMemoryCompaction();
+      } catch (IllegalArgumentException e) {
+        warnOrThrowExceptionForFailure(logWarn, e.getMessage(), e);
+      }
     }
   }
 
diff --git 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestIllegalTableDescriptor.java
 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestIllegalTableDescriptor.java
index e7bc8b3..e55f3ff 100644
--- 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestIllegalTableDescriptor.java
+++ 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestIllegalTableDescriptor.java
@@ -151,6 +151,11 @@ public class TestIllegalTableDescriptor {
     hcd.setScope(0);
     checkTableIsLegal(htd);
 
+    hcd.setValue(ColumnFamilyDescriptorBuilder.IN_MEMORY_COMPACTION, 
"INVALID");
+    checkTableIsIllegal(htd);
+    hcd.setValue(ColumnFamilyDescriptorBuilder.IN_MEMORY_COMPACTION, "NONE");
+    checkTableIsLegal(htd);
+
     try {
       hcd.setDFSReplication((short) -1);
       fail("Illegal value for setDFSReplication did not throw");

Reply via email to