@@ -268,34 +268,62 @@ public void testGetStartEndKeysOHTablePoolLoadNon() throws Exception {
268
268
Assert .assertEquals (0 , startEndKeys .getSecond ()[0 ].length );
269
269
}
270
270
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
- * */
297
271
@ Test
298
272
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 ();
299
327
String tablegroup1 = "test_multi_cf" ;
300
328
String tablegroup2 = "n1:test_multi_cf" ;
301
329
Configuration conf = ObHTableTestUtil .newConfiguration ();
@@ -319,7 +347,7 @@ public void testAdminGetRegionMetrics() throws Exception {
319
347
+ ", storeFileSize: " + regionMetrics .getStoreFileSize ()
320
348
+ ", memFileSize: " + regionMetrics .getMemStoreSize ());
321
349
}
322
- // concurrently read while writing 150 thousand of rows to each table
350
+ // concurrently read while writing 150 thousand of rows to 2 tablegroups
323
351
ExecutorService executorService = Executors .newFixedThreadPool (10 );
324
352
CountDownLatch latch = new CountDownLatch (100 );
325
353
List <Exception > exceptionCatcher = new ArrayList <>();
@@ -415,6 +443,8 @@ public void testAdminDeleteTable() throws Exception {
415
443
" `V` varbinary(1024) DEFAULT NULL,\n " +
416
444
" PRIMARY KEY (`K`, `Q`, `T`)\n " +
417
445
") TABLEGROUP = `n1:test`;" );
446
+ st .close ();
447
+ conn .close ();
418
448
Configuration conf = ObHTableTestUtil .newConfiguration ();
419
449
Connection connection = ConnectionFactory .createConnection (conf );
420
450
Admin admin = connection .getAdmin ();
@@ -434,9 +464,62 @@ public void testAdminDeleteTable() throws Exception {
434
464
435
465
@ Test
436
466
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 ();
437
515
Configuration conf = ObHTableTestUtil .newConfiguration ();
438
516
Connection connection = ConnectionFactory .createConnection (conf );
439
517
Admin admin = connection .getAdmin ();
518
+ // TableName cannot contain $ symbol
519
+ Assert .assertThrows (IllegalArgumentException .class ,
520
+ () -> {
521
+ TableName .valueOf ("random_string$" );
522
+ });
440
523
Assert .assertFalse (admin .tableExists (TableName .valueOf ("tablegroup_not_exists" )));
441
524
Assert .assertTrue (admin .tableExists (TableName .valueOf ("test_multi_cf" )));
442
525
Assert .assertTrue (admin .tableExists (TableName .valueOf ("n1" , "test" )));
0 commit comments