You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by mb...@apache.org on 2015/04/09 22:59:07 UTC

[02/50] [abbrv] hbase git commit: HBASE-13406 TestAccessController is flaky when create is slow

HBASE-13406 TestAccessController is flaky when create is slow


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

Branch: refs/heads/hbase-12439
Commit: fef8ae9c70f47d87baa985a66e94d7b90b861f08
Parents: e252c30
Author: Matteo Bertozzi <ma...@cloudera.com>
Authored: Sat Apr 4 00:03:07 2015 +0100
Committer: Matteo Bertozzi <ma...@cloudera.com>
Committed: Sat Apr 4 10:17:11 2015 +0100

----------------------------------------------------------------------
 .../hbase/security/access/SecureTestUtil.java   | 28 +++++++++++++++++++-
 .../access/TestAccessControlFilter.java         |  2 +-
 .../security/access/TestAccessController.java   |  5 ++--
 .../security/access/TestAccessController2.java  |  6 ++---
 4 files changed, 33 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/fef8ae9c/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/SecureTestUtil.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/SecureTestUtil.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/SecureTestUtil.java
index c45accd..b30c770 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/SecureTestUtil.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/SecureTestUtil.java
@@ -36,6 +36,7 @@ import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hbase.Coprocessor;
 import org.apache.hadoop.hbase.HBaseTestingUtility;
 import org.apache.hadoop.hbase.HConstants;
+import org.apache.hadoop.hbase.HColumnDescriptor;
 import org.apache.hadoop.hbase.HTableDescriptor;
 import org.apache.hadoop.hbase.HRegionInfo;
 import org.apache.hadoop.hbase.MiniHBaseCluster;
@@ -633,19 +634,44 @@ public class SecureTestUtil {
     }
   }
 
+  public static Table createTable(HBaseTestingUtility testUtil, TableName tableName,
+      byte[][] families) throws Exception {
+    HTableDescriptor htd = new HTableDescriptor(tableName);
+    for (byte[] family : families) {
+      HColumnDescriptor hcd = new HColumnDescriptor(family);
+      htd.addFamily(hcd);
+    }
+    createTable(testUtil, testUtil.getHBaseAdmin(), htd);
+    return testUtil.getConnection().getTable(htd.getTableName());
+  }
+
   public static void createTable(HBaseTestingUtility testUtil, HTableDescriptor htd)
       throws Exception {
     createTable(testUtil, testUtil.getHBaseAdmin(), htd);
   }
 
+  public static void createTable(HBaseTestingUtility testUtil, HTableDescriptor htd,
+      byte[][] splitKeys) throws Exception {
+    createTable(testUtil, testUtil.getHBaseAdmin(), htd, splitKeys);
+  }
+
   public static void createTable(HBaseTestingUtility testUtil, Admin admin, HTableDescriptor htd)
       throws Exception {
+    createTable(testUtil, admin, htd, null);
+  }
+
+  public static void createTable(HBaseTestingUtility testUtil, Admin admin, HTableDescriptor htd,
+      byte[][] splitKeys) throws Exception {
     // NOTE: We need a latch because admin is not sync,
     // so the postOp coprocessor method may be called after the admin operation returned.
     MasterSyncObserver observer = (MasterSyncObserver)testUtil.getHBaseCluster().getMaster()
       .getMasterCoprocessorHost().findCoprocessor(MasterSyncObserver.class.getName());
     observer.tableCreationLatch = new CountDownLatch(1);
-    admin.createTable(htd);
+    if (splitKeys != null) {
+      admin.createTable(htd, splitKeys);
+    } else {
+      admin.createTable(htd);
+    }
     observer.tableCreationLatch.await();
     observer.tableCreationLatch = null;
     testUtil.waitUntilAllRegionsAssigned(htd.getTableName());

http://git-wip-us.apache.org/repos/asf/hbase/blob/fef8ae9c/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestAccessControlFilter.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestAccessControlFilter.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestAccessControlFilter.java
index d6a6f03..5d58110 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestAccessControlFilter.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestAccessControlFilter.java
@@ -94,7 +94,7 @@ public class TestAccessControlFilter extends SecureTestUtil {
 
   @Test
   public void testQualifierAccess() throws Exception {
-    final Table table = TEST_UTIL.createTable(TABLE, FAMILY);
+    final Table table = createTable(TEST_UTIL, TABLE, new byte[][] { FAMILY });
     try {
       doQualifierAccess(table);
     } finally {

http://git-wip-us.apache.org/repos/asf/hbase/blob/fef8ae9c/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestAccessController.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestAccessController.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestAccessController.java
index 1b496a0..58b8587 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestAccessController.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestAccessController.java
@@ -235,8 +235,7 @@ public class TestAccessController extends SecureTestUtil {
     hcd.setMaxVersions(100);
     htd.addFamily(hcd);
     htd.setOwner(USER_OWNER);
-    admin.createTable(htd, new byte[][] { Bytes.toBytes("s") });
-    TEST_UTIL.waitUntilAllRegionsAssigned(TEST_TABLE.getTableName());
+    createTable(TEST_UTIL, htd, new byte[][] { Bytes.toBytes("s") });
 
     Region region = TEST_UTIL.getHBaseCluster().getRegions(TEST_TABLE.getTableName()).get(0);
     RegionCoprocessorHost rcpHost = region.getCoprocessorHost();
@@ -630,8 +629,8 @@ public class TestAccessController extends SecureTestUtil {
 
   @Test
   public void testMergeRegions() throws Exception {
-
     final List<HRegion> regions = TEST_UTIL.getHBaseCluster().findRegionsForTable(TEST_TABLE.getTableName());
+    assertTrue("not enough regions: " + regions.size(), regions.size() >= 2);
 
     AccessTestAction action = new AccessTestAction() {
       @Override

http://git-wip-us.apache.org/repos/asf/hbase/blob/fef8ae9c/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestAccessController2.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestAccessController2.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestAccessController2.java
index 31a3cec..24cd1d8 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestAccessController2.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestAccessController2.java
@@ -120,9 +120,9 @@ public class TestAccessController2 extends SecureTestUtil {
   @Before
   public void setUp() throws Exception {
     createNamespace(TEST_UTIL, NamespaceDescriptor.create(namespace).build());
-    try (Table table = TEST_UTIL.createTable(tableName,
-          new String[] { Bytes.toString(TEST_FAMILY), Bytes.toString(TEST_FAMILY_2) })) {
-      TEST_UTIL.waitUntilAllRegionsAssigned(tableName);
+    try (Table table = createTable(TEST_UTIL, tableName,
+          new byte[][] { TEST_FAMILY, TEST_FAMILY_2 })) {
+      TEST_UTIL.waitTableEnabled(tableName);
 
       // Ingesting test data.
       table.put(Arrays.asList(new Put(TEST_ROW).addColumn(TEST_FAMILY, Q1, value1),