You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by br...@apache.org on 2019/12/04 12:04:54 UTC

[hbase] branch master updated: HBASE-22529 Add sanity check for in-memory compaction policy

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

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


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

commit 5e34a59d90e56be190a855fe68f2c85f5deb2ce2
Author: Junegunn Choi <ju...@gmail.com>
AuthorDate: Wed Dec 4 13:55:53 2019 +0900

    HBASE-22529 Add sanity check for in-memory compaction policy
    
    Signed-off-by: Toshihiro Suzuki <br...@gmail.com>
---
 .../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");