@Test public void verifyReservedNS() throws IOException { // verify existence of reserved namespaces NamespaceDescriptor ns = admin.getNamespaceDescriptor(NamespaceDescriptor.DEFAULT_NAMESPACE.getName()); assertNotNull(ns); assertEquals(ns.getName(), NamespaceDescriptor.DEFAULT_NAMESPACE.getName()); assertNotNull(zkNamespaceManager.get(NamespaceDescriptor.DEFAULT_NAMESPACE_NAME_STR)); ns = admin.getNamespaceDescriptor(NamespaceDescriptor.SYSTEM_NAMESPACE.getName()); assertNotNull(ns); assertEquals(ns.getName(), NamespaceDescriptor.SYSTEM_NAMESPACE.getName()); assertNotNull(zkNamespaceManager.get(NamespaceDescriptor.SYSTEM_NAMESPACE_NAME_STR)); assertEquals(2, admin.listNamespaceDescriptors().length); // verify existence of system tables Set<TableName> systemTables = Sets.newHashSet(TableName.META_TABLE_NAME, TableName.NAMESPACE_TABLE_NAME); HTableDescriptor[] descs = admin.listTableDescriptorsByNamespace(NamespaceDescriptor.SYSTEM_NAMESPACE.getName()); assertEquals(systemTables.size(), descs.length); for (HTableDescriptor desc : descs) { assertTrue(systemTables.contains(desc.getTableName())); } // verify system tables aren't listed assertEquals(0, admin.listTables().length); // Try creating default and system namespaces. boolean exceptionCaught = false; try { admin.createNamespace(NamespaceDescriptor.DEFAULT_NAMESPACE); } catch (IOException exp) { LOG.warn(exp); exceptionCaught = true; } finally { assertTrue(exceptionCaught); } exceptionCaught = false; try { admin.createNamespace(NamespaceDescriptor.SYSTEM_NAMESPACE); } catch (IOException exp) { LOG.warn(exp); exceptionCaught = true; } finally { assertTrue(exceptionCaught); } }
@BeforeClass public static void setUp() throws Exception { TEST_UTIL = new HBaseTestingUtility(); TEST_UTIL.startMiniCluster(NUM_SLAVES_BASE); admin = TEST_UTIL.getHBaseAdmin(); cluster = TEST_UTIL.getHBaseCluster(); master = ((MiniHBaseCluster) cluster).getMaster(); zkNamespaceManager = new ZKNamespaceManager(master.getZooKeeper()); zkNamespaceManager.start(); LOG.info("Done initializing cluster"); }
@Test public void createRemoveTest() throws Exception { String testName = "createRemoveTest"; String nsName = prefix + "_" + testName; LOG.info(testName); // create namespace and verify admin.createNamespace(NamespaceDescriptor.create(nsName).build()); assertEquals(3, admin.listNamespaceDescriptors().length); TEST_UTIL.waitFor( 60000, new Waiter.Predicate<Exception>() { @Override public boolean evaluate() throws Exception { return zkNamespaceManager.list().size() == 3; } }); assertNotNull(zkNamespaceManager.get(nsName)); // remove namespace and verify admin.deleteNamespace(nsName); assertEquals(2, admin.listNamespaceDescriptors().length); assertEquals(2, zkNamespaceManager.list().size()); assertNull(zkNamespaceManager.get(nsName)); }