You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by te...@apache.org on 2015/05/29 16:34:03 UTC

hbase git commit: HBASE-13776 Setting illegal versions for HColumnDescriptor does not throw IllegalArgumentException (Yuhao Bi)

Repository: hbase
Updated Branches:
  refs/heads/branch-1 695c4790c -> 93e475e5b


HBASE-13776 Setting illegal versions for HColumnDescriptor does not throw IllegalArgumentException (Yuhao Bi)


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/93e475e5
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/93e475e5
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/93e475e5

Branch: refs/heads/branch-1
Commit: 93e475e5ba5d5893a5d2fcb0ad87d03d51afbd2f
Parents: 695c479
Author: tedyu <yu...@gmail.com>
Authored: Fri May 29 07:34:00 2015 -0700
Committer: tedyu <yu...@gmail.com>
Committed: Fri May 29 07:34:00 2015 -0700

----------------------------------------------------------------------
 .../main/java/org/apache/hadoop/hbase/master/HMaster.java   | 9 +++++++++
 .../org/apache/hadoop/hbase/client/TestFromClientSide.java  | 8 ++++++++
 2 files changed, 17 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/93e475e5/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java
index 7383615..aaf288a 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java
@@ -1498,6 +1498,15 @@ public class HMaster extends HRegionServer implements MasterServices, Server {
       }
       // max versions already being checked
 
+      // HBASE-13776 Setting illegal versions for HColumnDescriptor
+      //  does not throw IllegalArgumentException
+      // check minVersions <= maxVerions
+      if (hcd.getMinVersions() > hcd.getMaxVersions()) {
+        String message = "Min versions for column family " + hcd.getNameAsString()
+            + " must be less than the Max versions.";
+        warnOrThrowExceptionForFailure(logWarn, CONF_KEY, message, null);
+      }
+
       // check replication scope
       if (hcd.getScope() < 0) {
         String message = "Replication scope for column family "

http://git-wip-us.apache.org/repos/asf/hbase/blob/93e475e5/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java
index 1fea802..02eca77 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java
@@ -5566,6 +5566,14 @@ public class TestFromClientSide {
     }
     checkTableIsLegal(htd);
 
+    // HBASE-13776 Setting illegal versions for HColumnDescriptor
+    //  does not throw IllegalArgumentException
+    // finally, minVersions must be less than or equal to maxVersions
+    hcd.setMaxVersions(4);
+    hcd.setMinVersions(5);
+    checkTableIsIllegal(htd);
+    hcd.setMinVersions(3);
+
     hcd.setScope(-1);
     checkTableIsIllegal(htd);
     hcd.setScope(0);