@@ -268,34 +268,62 @@ public void testGetStartEndKeysOHTablePoolLoadNon() throws Exception {
268268 Assert .assertEquals (0 , startEndKeys .getSecond ()[0 ].length );
269269 }
270270
271- /*
272- *
273- CREATE DATABASE IF NOT EXISTS `n1`;
274- CREATE TABLEGROUP `n1:test_multi_cf` SHARDING = 'ADAPTIVE';
275- CREATE TABLE `n1:test_multi_cf$family_with_group1` (
276- `K` varbinary(1024) NOT NULL,
277- `Q` varbinary(256) NOT NULL,
278- `T` bigint(20) NOT NULL,
279- `V` varbinary(1024) DEFAULT NULL,
280- PRIMARY KEY (`K`, `Q`, `T`)
281- ) TABLEGROUP = `n1:test_multi_cf` PARTITION BY KEY(`K`) PARTITIONS 3;
282- CREATE TABLE `n1:test_multi_cf$family_with_group2` (
283- `K` varbinary(1024) NOT NULL,
284- `Q` varbinary(256) NOT NULL,
285- `T` bigint(20) NOT NULL,
286- `V` varbinary(1024) DEFAULT NULL,
287- PRIMARY KEY (`K`, `Q`, `T`)
288- ) TABLEGROUP = `n1:test_multi_cf` PARTITION BY KEY(`K`) PARTITIONS 3;
289- CREATE TABLE `n1:test_multi_cf$family_with_group3` (
290- `K` varbinary(1024) NOT NULL,
291- `Q` varbinary(256) NOT NULL,
292- `T` bigint(20) NOT NULL,
293- `V` varbinary(1024) DEFAULT NULL,
294- PRIMARY KEY (`K`, `Q`, `T`)
295- ) TABLEGROUP = `n1:test_multi_cf` PARTITION BY KEY(`K`) PARTITIONS 3;
296- * */
297271 @ Test
298272 public void testAdminGetRegionMetrics () throws Exception {
273+ java .sql .Connection conn = ObHTableTestUtil .getConnection ();
274+ Statement st = conn .createStatement ();
275+ st .execute ("CREATE TABLEGROUP IF NOT EXISTS test_multi_cf SHARDING = 'ADAPTIVE';\n " +
276+ "\n " +
277+ "CREATE TABLE IF NOT EXISTS `test_multi_cf$family_with_group1` (\n " +
278+ " `K` varbinary(1024) NOT NULL,\n " +
279+ " `Q` varbinary(256) NOT NULL,\n " +
280+ " `T` bigint(20) NOT NULL,\n " +
281+ " `V` varbinary(1024) DEFAULT NULL,\n " +
282+ " PRIMARY KEY (`K`, `Q`, `T`)\n " +
283+ ") TABLEGROUP = test_multi_cf PARTITION BY KEY(`K`) PARTITIONS 3;\n " +
284+ "\n " +
285+ "CREATE TABLE IF NOT EXISTS `test_multi_cf$family_with_group2` (\n " +
286+ " `K` varbinary(1024) NOT NULL,\n " +
287+ " `Q` varbinary(256) NOT NULL,\n " +
288+ " `T` bigint(20) NOT NULL,\n " +
289+ " `V` varbinary(1024) DEFAULT NULL,\n " +
290+ " PRIMARY KEY (`K`, `Q`, `T`)\n " +
291+ ") TABLEGROUP = test_multi_cf PARTITION BY KEY(`K`) PARTITIONS 3;\n " +
292+ "\n " +
293+ "CREATE TABLE IF NOT EXISTS `test_multi_cf$family_with_group3` (\n " +
294+ " `K` varbinary(1024) NOT NULL,\n " +
295+ " `Q` varbinary(256) NOT NULL,\n " +
296+ " `T` bigint(20) NOT NULL,\n " +
297+ " `V` varbinary(1024) DEFAULT NULL,\n " +
298+ " PRIMARY KEY (`K`, `Q`, `T`)\n " +
299+ ") TABLEGROUP = test_multi_cf PARTITION BY KEY(`K`) PARTITIONS 3;\n " +
300+ "\n " +
301+ "CREATE DATABASE IF NOT EXISTS `n1`;\n " +
302+ "use `n1`;\n " +
303+ "CREATE TABLEGROUP IF NOT EXISTS `n1:test_multi_cf` SHARDING = 'ADAPTIVE';\n " +
304+ "CREATE TABLE IF NOT EXISTS `n1:test_multi_cf$family_with_group1` (\n " +
305+ " `K` varbinary(1024) NOT NULL,\n " +
306+ " `Q` varbinary(256) NOT NULL,\n " +
307+ " `T` bigint(20) NOT NULL,\n " +
308+ " `V` varbinary(1024) DEFAULT NULL,\n " +
309+ " PRIMARY KEY (`K`, `Q`, `T`)\n " +
310+ ") TABLEGROUP = `n1:test_multi_cf` PARTITION BY KEY(`K`) PARTITIONS 3;\n " +
311+ "CREATE TABLE IF NOT EXISTS `n1:test_multi_cf$family_with_group2` (\n " +
312+ " `K` varbinary(1024) NOT NULL,\n " +
313+ " `Q` varbinary(256) NOT NULL,\n " +
314+ " `T` bigint(20) NOT NULL,\n " +
315+ " `V` varbinary(1024) DEFAULT NULL,\n " +
316+ " PRIMARY KEY (`K`, `Q`, `T`)\n " +
317+ ") TABLEGROUP = `n1:test_multi_cf` PARTITION BY KEY(`K`) PARTITIONS 3;\n " +
318+ "CREATE TABLE IF NOT EXISTS `n1:test_multi_cf$family_with_group3` (\n " +
319+ " `K` varbinary(1024) NOT NULL,\n " +
320+ " `Q` varbinary(256) NOT NULL,\n " +
321+ " `T` bigint(20) NOT NULL,\n " +
322+ " `V` varbinary(1024) DEFAULT NULL,\n " +
323+ " PRIMARY KEY (`K`, `Q`, `T`)\n " +
324+ ") TABLEGROUP = `n1:test_multi_cf` PARTITION BY KEY(`K`) PARTITIONS 3;" );
325+ st .close ();
326+ conn .close ();
299327 String tablegroup1 = "test_multi_cf" ;
300328 String tablegroup2 = "n1:test_multi_cf" ;
301329 Configuration conf = ObHTableTestUtil .newConfiguration ();
@@ -319,7 +347,7 @@ public void testAdminGetRegionMetrics() throws Exception {
319347 + ", storeFileSize: " + regionMetrics .getStoreFileSize ()
320348 + ", memFileSize: " + regionMetrics .getMemStoreSize ());
321349 }
322- // concurrently read while writing 150 thousand of rows to each table
350+ // concurrently read while writing 150 thousand of rows to 2 tablegroups
323351 ExecutorService executorService = Executors .newFixedThreadPool (10 );
324352 CountDownLatch latch = new CountDownLatch (100 );
325353 List <Exception > exceptionCatcher = new ArrayList <>();
@@ -415,6 +443,8 @@ public void testAdminDeleteTable() throws Exception {
415443 " `V` varbinary(1024) DEFAULT NULL,\n " +
416444 " PRIMARY KEY (`K`, `Q`, `T`)\n " +
417445 ") TABLEGROUP = `n1:test`;" );
446+ st .close ();
447+ conn .close ();
418448 Configuration conf = ObHTableTestUtil .newConfiguration ();
419449 Connection connection = ConnectionFactory .createConnection (conf );
420450 Admin admin = connection .getAdmin ();
@@ -434,9 +464,62 @@ public void testAdminDeleteTable() throws Exception {
434464
435465 @ Test
436466 public void testAdminTableExists () throws Exception {
467+ java .sql .Connection conn = ObHTableTestUtil .getConnection ();
468+ Statement st = conn .createStatement ();
469+ st .execute ("CREATE TABLEGROUP IF NOT EXISTS test_multi_cf SHARDING = 'ADAPTIVE';\n " +
470+ "\n " +
471+ "CREATE TABLE IF NOT EXISTS `test_multi_cf$family_with_group1` (\n " +
472+ " `K` varbinary(1024) NOT NULL,\n " +
473+ " `Q` varbinary(256) NOT NULL,\n " +
474+ " `T` bigint(20) NOT NULL,\n " +
475+ " `V` varbinary(1024) DEFAULT NULL,\n " +
476+ " PRIMARY KEY (`K`, `Q`, `T`)\n " +
477+ ") TABLEGROUP = test_multi_cf PARTITION BY KEY(`K`) PARTITIONS 3;\n " +
478+ "\n " +
479+ "CREATE TABLE IF NOT EXISTS `test_multi_cf$family_with_group2` (\n " +
480+ " `K` varbinary(1024) NOT NULL,\n " +
481+ " `Q` varbinary(256) NOT NULL,\n " +
482+ " `T` bigint(20) NOT NULL,\n " +
483+ " `V` varbinary(1024) DEFAULT NULL,\n " +
484+ " PRIMARY KEY (`K`, `Q`, `T`)\n " +
485+ ") TABLEGROUP = test_multi_cf PARTITION BY KEY(`K`) PARTITIONS 3;\n " +
486+ "\n " +
487+ "CREATE TABLE IF NOT EXISTS `test_multi_cf$family_with_group3` (\n " +
488+ " `K` varbinary(1024) NOT NULL,\n " +
489+ " `Q` varbinary(256) NOT NULL,\n " +
490+ " `T` bigint(20) NOT NULL,\n " +
491+ " `V` varbinary(1024) DEFAULT NULL,\n " +
492+ " PRIMARY KEY (`K`, `Q`, `T`)\n " +
493+ ") TABLEGROUP = test_multi_cf PARTITION BY KEY(`K`) PARTITIONS 3;\n " +
494+ "\n " +
495+ "CREATE DATABASE IF NOT EXISTS `n1`;\n " +
496+ "use `n1`;\n " +
497+ "CREATE TABLEGROUP IF NOT EXISTS `n1:test` SHARDING = 'ADAPTIVE';\n " +
498+ "CREATE TABLE IF NOT EXISTS `n1:test$family_group` (\n " +
499+ " `K` varbinary(1024) NOT NULL,\n " +
500+ " `Q` varbinary(256) NOT NULL,\n " +
501+ " `T` bigint(20) NOT NULL,\n " +
502+ " `V` varbinary(1024) DEFAULT NULL,\n " +
503+ " PRIMARY KEY (`K`, `Q`, `T`)\n " +
504+ ") TABLEGROUP = `n1:test`;" +
505+ "\n " +
506+ "CREATE TABLE IF NOT EXISTS `n1:test$family1` (\n " +
507+ " `K` varbinary(1024) NOT NULL,\n " +
508+ " `Q` varbinary(256) NOT NULL,\n " +
509+ " `T` bigint(20) NOT NULL,\n " +
510+ " `V` varbinary(1024) DEFAULT NULL,\n " +
511+ " PRIMARY KEY (`K`, `Q`, `T`)\n " +
512+ ") TABLEGROUP = `n1:test`;" );
513+ st .close ();
514+ conn .close ();
437515 Configuration conf = ObHTableTestUtil .newConfiguration ();
438516 Connection connection = ConnectionFactory .createConnection (conf );
439517 Admin admin = connection .getAdmin ();
518+ // TableName cannot contain $ symbol
519+ Assert .assertThrows (IllegalArgumentException .class ,
520+ () -> {
521+ TableName .valueOf ("random_string$" );
522+ });
440523 Assert .assertFalse (admin .tableExists (TableName .valueOf ("tablegroup_not_exists" )));
441524 Assert .assertTrue (admin .tableExists (TableName .valueOf ("test_multi_cf" )));
442525 Assert .assertTrue (admin .tableExists (TableName .valueOf ("n1" , "test" )));
0 commit comments