diff --git a/metacat-functional-tests/metacat-test-cluster/docker-compose.yml b/metacat-functional-tests/metacat-test-cluster/docker-compose.yml index 9cd1bb23..3660f027 100644 --- a/metacat-functional-tests/metacat-test-cluster/docker-compose.yml +++ b/metacat-functional-tests/metacat-test-cluster/docker-compose.yml @@ -64,8 +64,8 @@ services: -Dmetacat.usermetadata.config.location=/etc/metacat/usermetadata.properties -Dmetacat.cache.enabled=true -Dmetacat.authorization.enabled=true - -Dmetacat.authorization.createAcl.createAclStr=embedded-fast-hive-metastore/fsmoke_acl:metacat-prod - -Dmetacat.authorization.deleteAcl.deleteAclStr=embedded-fast-hive-metastore/fsmoke_acl:metacat-prod + -Dmetacat.authorization.createAcl.createAclStr=hive-metastore/fsmoke_acl:metacat-prod + -Dmetacat.authorization.deleteAcl.deleteAclStr=hive-metastore/fsmoke_acl:metacat-prod -Dmetacat.service.tables.error.list.partitions.threshold=100 -Dmetacat.hive.commonview.enabled=true -Dmetacat.hive.commonview.deleteStorageTable=true diff --git a/metacat-functional-tests/src/functionalTest/groovy/com/netflix/metacat/MetacatSmokeSpec.groovy b/metacat-functional-tests/src/functionalTest/groovy/com/netflix/metacat/MetacatSmokeSpec.groovy index b7873a91..60c4c7a5 100644 --- a/metacat-functional-tests/src/functionalTest/groovy/com/netflix/metacat/MetacatSmokeSpec.groovy +++ b/metacat-functional-tests/src/functionalTest/groovy/com/netflix/metacat/MetacatSmokeSpec.groovy @@ -158,8 +158,8 @@ class MetacatSmokeSpec extends Specification { def createAllTypesTable() { when: - createTable('embedded-hive-metastore', 'smoke_db', 'metacat_all_types') - def table = api.getTable('embedded-hive-metastore', 'smoke_db', 'metacat_all_types', true, true, true) + createTable('hive-metastore', 'smoke_db', 'metacat_all_types') + def table = api.getTable('hive-metastore', 'smoke_db', 'metacat_all_types', true, true, true) then: noExceptionThrown() table.fields.find { it.name == 'latest_is_available' }.type == '{(array_element: map[chararray])}' @@ -171,8 +171,8 @@ class MetacatSmokeSpec extends Specification { def catalogNames = catalogs.collect { it.catalogName } then: catalogNames.size() > 0 - catalogNames.contains('embedded-hive-metastore') - catalogNames.contains('embedded-fast-hive-metastore') +// catalogNames.contains('embedded-hive-metastore') +// catalogNames.contains('embedded-fast-hive-metastore') catalogNames.contains('s3-mysql-db') catalogNames.contains('hive-metastore') } @@ -187,7 +187,7 @@ class MetacatSmokeSpec extends Specification { @Unroll def "Test create/get table with nested fields with upper case"() { given: - def catalogName = 'embedded-fast-hive-metastore' + def catalogName = 'hive-metastore' def databaseName = 'iceberg_db' def tableName = 'iceberg_table_with_upper_case_nested_fields' def uri = isLocalEnv ? String.format('file:/tmp/data/') : null @@ -320,9 +320,10 @@ class MetacatSmokeSpec extends Specification { } where: catalogName | databaseName | uri | error - 'embedded-hive-metastore' | 'smoke_db0' | 'file:/tmp/embedded-hive-metastore/smoke_db00' | null - 'embedded-fast-hive-metastore' | 'fsmoke_db0' | 'file:/tmp/embedded-fast-hive-metastore/fsmoke_db00' | null - 'embedded-fast-hive-metastore' | 'shard1' | null | null +// 'embedded-hive-metastore' | 'smoke_db0' | 'file:/tmp/embedded-hive-metastore/smoke_db00' | null +// 'embedded-fast-hive-metastore' | 'fsmoke_db0' | 'file:/tmp/embedded-fast-hive-metastore/fsmoke_db00' | null +// 'embedded-fast-hive-metastore' | 'shard1' | null | null + 'hive-metastore' | 'shard1' | null | null 'hive-metastore' | 'hsmoke_db0' | 'file:/tmp/hive-metastore/hsmoke_db00' | null 's3-mysql-db' | 'smoke_db0' | null | null 'invalid-catalog' | 'smoke_db0' | null | MetacatNotFoundException.class @@ -345,9 +346,10 @@ class MetacatSmokeSpec extends Specification { api.deleteDatabase(catalogName, databaseName) where: catalogName | databaseName | uri - 'embedded-hive-metastore' | 'smoke_db0' | null - 'embedded-fast-hive-metastore' | 'fsmoke_db0' | 'file:/tmp/embedded-fast-hive-metastore/fsmoke_db00' - 'embedded-fast-hive-metastore' | 'shard1' | null +// 'embedded-hive-metastore' | 'smoke_db0' | null +// 'embedded-fast-hive-metastore' | 'fsmoke_db0' | 'file:/tmp/embedded-fast-hive-metastore/fsmoke_db00' +// 'embedded-fast-hive-metastore' | 'shard1' | null + 'hive-metastore' | 'smoke_db0' | 'file:/tmp/warehouse/smoke_db0.db' 'hive-metastore' | 'hsmoke_db0' | null } @@ -401,17 +403,17 @@ class MetacatSmokeSpec extends Specification { } where: catalogName | databaseName | tableName | setUri | setNull | error - 'embedded-hive-metastore' | 'smoke_db1' | 'test_create_table' | true | false | null - 'embedded-hive-metastore' | 'smoke_db1' | 'test_create_table' | false | false | null - 'embedded-hive-metastore' | 'smoke_db1' | 'test_create_table1'| false | true | null - 'embedded-fast-hive-metastore' | 'fsmoke_db1' | 'test_create_table' | true | false | null - 'embedded-fast-hive-metastore' | 'fsmoke_db1' | 'test_create_table' | false | false | null - 'embedded-fast-hive-metastore' | 'fsmoke_db1' | 'test_create_table1'| false | true | null - 'embedded-fast-hive-metastore' | 'fsmoke_db1' | 'test.create_table1'| false | true | InvalidMetaException.class - 'embedded-fast-hive-metastore' | 'shard' | 'test_create_table' | true | false | null - 'embedded-fast-hive-metastore' | 'shard' | 'test_create_table' | false | false | null - 'embedded-fast-hive-metastore' | 'shard' | 'test_create_table1'| false | true | null - 'embedded-fast-hive-metastore' | 'shard' | 'test.create_table1'| false | true | InvalidMetaException.class +// 'embedded-hive-metastore' | 'smoke_db1' | 'test_create_table' | true | false | null +// 'embedded-hive-metastore' | 'smoke_db1' | 'test_create_table' | false | false | null +// 'embedded-hive-metastore' | 'smoke_db1' | 'test_create_table1'| false | true | null +// 'embedded-fast-hive-metastore' | 'fsmoke_db1' | 'test_create_table' | true | false | null +// 'embedded-fast-hive-metastore' | 'fsmoke_db1' | 'test_create_table' | false | false | null +// 'embedded-fast-hive-metastore' | 'fsmoke_db1' | 'test_create_table1'| false | true | null +// 'embedded-fast-hive-metastore' | 'fsmoke_db1' | 'test.create_table1'| false | true | InvalidMetaException.class +// 'embedded-fast-hive-metastore' | 'shard' | 'test_create_table' | true | false | null +// 'embedded-fast-hive-metastore' | 'shard' | 'test_create_table' | false | false | null +// 'embedded-fast-hive-metastore' | 'shard' | 'test_create_table1'| false | true | null +// 'embedded-fast-hive-metastore' | 'shard' | 'test.create_table1'| false | true | InvalidMetaException.class 'hive-metastore' | 'hsmoke_db1' | 'test_create_table' | true | false | null 'hive-metastore' | 'hsmoke_db1' | 'test_create_table' | false | false | null 'hive-metastore' | 'hsmoke_db1' | 'test_create_table1'| false | true | null @@ -424,7 +426,7 @@ class MetacatSmokeSpec extends Specification { def testCreateTableWithOwner() { given: - def catalogName = 'embedded-fast-hive-metastore' + def catalogName = 'hive-metastore' def databaseName = 'fsmoke_db1_owner' try { api.createDatabase(catalogName, databaseName, new DatabaseCreateRequestDto()) @@ -509,7 +511,7 @@ class MetacatSmokeSpec extends Specification { where: catalogName | databaseName | tableName | setUri | setNull | error - 'embedded-fast-hive-metastore' | 'fsmoke_db2' | 'test_create_table' | true | false | null + 'hive-metastore' | 'fsmoke_db2' | 'test_create_table' | true | false | null } def "Test create/delete database/table for #catalogName/#databaseName/#tableName with ACL"() { @@ -535,12 +537,12 @@ class MetacatSmokeSpec extends Specification { where: catalogName | databaseName | tableName - 'embedded-fast-hive-metastore' | 'fsmoke_acl' | 'test_create_table' + 'hive-metastore' | 'fsmoke_acl' | 'test_create_table' } def "Test get table names"() { given: - def catalogName = 'embedded-fast-hive-metastore' + def catalogName = 'hive-metastore' def databaseName = 'fsmoke_db_names' def database1Name = 'fsmoke_db1_names' def database2Name = 'fsmoke_db2_names' @@ -591,7 +593,7 @@ class MetacatSmokeSpec extends Specification { def "Test materialized common view create/drop"() { given: - def catalogName = 'embedded-fast-hive-metastore' + def catalogName = 'hive-metastore' def databaseName = 'iceberg_db' def storageTableName = 'st_iceberg_table' def commonViewName = 'test_common_view' @@ -694,7 +696,7 @@ class MetacatSmokeSpec extends Specification { api.doesTableExist(catalogName, databaseName, tableName) updatedTable.getMetadata().get('metadata_location') == metadataLocation1 updatedTable != null - if (catalogName == 'embedded-fast-hive-metastore') { + if (catalogName == 'hive-metastore') { updatedTable.getDataUri() == updatedUri updatedTable.getSerde().getInputFormat() == 'org.apache.hadoop.mapred.TextInputFormat' } @@ -756,13 +758,13 @@ class MetacatSmokeSpec extends Specification { cleanup: FileUtils.deleteQuietly(icebergManifestFile) where: - catalogName << ['polaris-metastore', 'embedded-fast-hive-metastore'] + catalogName << ['polaris-metastore', 'hive-metastore'] } @Unroll def "Test get iceberg table and partitions"() { given: - def catalogName = 'embedded-fast-hive-metastore' + def catalogName = 'hive-metastore' def databaseName = 'iceberg_db' def tableName = 'iceberg_table_6' def uri = isLocalEnv ? String.format('file:/tmp/data/') : null @@ -835,7 +837,7 @@ class MetacatSmokeSpec extends Specification { @Unroll def "Test ignore void transform as partition fields"() { given: - def catalogName = 'embedded-fast-hive-metastore' + def catalogName = 'hive-metastore' def databaseName = 'iceberg_db' def tableName = 'iceberg_table_6' def uri = isLocalEnv ? String.format('file:/tmp/data/') : null @@ -876,9 +878,8 @@ class MetacatSmokeSpec extends Specification { api.deleteTable(catalogName, databaseName, tableName) } - @Unroll def "Test get partitions from iceberg table using #filter"() { - def catalogName = 'embedded-fast-hive-metastore' + def catalogName = 'hive-metastore' def databaseName = 'iceberg_db' def tableName = 'iceberg_table_6' def tableDto = new TableDto( @@ -939,16 +940,16 @@ class MetacatSmokeSpec extends Specification { metadataApi.deleteDefinitionMetadata(name, true) where: catalogName | databaseName | tableName | count | result - 'embedded-hive-metastore' | 'smoke_ddb1' | 'test_create_table' | 15 | 0 - 'embedded-fast-hive-metastore' | 'fsmoke_ddb1' | 'test_create_table' | 15 | 0 - 'embedded-fast-hive-metastore' | 'shard' | 'test_create_table' | 15 | 0 +// 'embedded-hive-metastore' | 'smoke_ddb1' | 'test_create_table' | 15 | 0 +// 'embedded-fast-hive-metastore' | 'fsmoke_ddb1' | 'test_create_table' | 15 | 0 +// 'embedded-fast-hive-metastore' | 'shard' | 'test_create_table' | 15 | 0 'hive-metastore' | 'hsmoke_ddb' | 'test_create_table' | 15 | 0 'hive-metastore' | 'hsmoke_ddb1' | 'test_create_table1' | 15 | 0 'hive-metastore' | 'hsmoke_ddb1' | 'test_create_table2' | 15 | 1 's3-mysql-db' | 'smoke_ddb1' | 'test_create_table' | 15 | 0 - 'embedded-hive-metastore' | 'smoke_ddb1' | 'test_create_table' | 10 | 0 - 'embedded-fast-hive-metastore' | 'fsmoke_ddb1' | 'test_create_table' | 10 | 0 - 'embedded-fast-hive-metastore' | 'shard' | 'test_create_table' | 10 | 0 +// 'embedded-hive-metastore' | 'smoke_ddb1' | 'test_create_table' | 10 | 0 +// 'embedded-fast-hive-metastore' | 'fsmoke_ddb1' | 'test_create_table' | 10 | 0 +// 'embedded-fast-hive-metastore' | 'shard' | 'test_create_table' | 10 | 0 'hive-metastore' | 'hsmoke_ddb' | 'test_create_table' | 10 | 0 'hive-metastore' | 'hsmoke_ddb1' | 'test_create_table1' | 10 | 0 'hive-metastore' | 'hsmoke_ddb1' | 'test_create_table2' | 10 | 1 @@ -970,9 +971,9 @@ class MetacatSmokeSpec extends Specification { api.deleteTable(catalogName, databaseName, 'metacat_all_types_copy') where: catalogName | databaseName - 'embedded-hive-metastore' | 'smoke_db1' - 'embedded-fast-hive-metastore' | 'fsmoke_db1' - 'embedded-fast-hive-metastore' | 'shard' +// 'embedded-hive-metastore' | 'smoke_db1' +// 'embedded-fast-hive-metastore' | 'fsmoke_db1' +// 'embedded-fast-hive-metastore' | 'shard' 'hive-metastore' | 'hsmoke_db1' 's3-mysql-db' | 'smoke_db1' } @@ -994,9 +995,9 @@ class MetacatSmokeSpec extends Specification { api.deleteTable(catalogName, databaseName, tableName) where: catalogName | databaseName | tableName - 'embedded-hive-metastore' | 'smoke_db2' | 'part' - 'embedded-fast-hive-metastore' | 'fsmoke_db2' | 'part' - 'embedded-fast-hive-metastore' | 'shard' | 'part' +// 'embedded-hive-metastore' | 'smoke_db2' | 'part' +// 'embedded-fast-hive-metastore' | 'fsmoke_db2' | 'part' +// 'embedded-fast-hive-metastore' | 'shard' | 'part' 'hive-metastore' | 'hsmoke_db2' | 'part' 's3-mysql-db' | 'smoke_db2' | 'part' 's3-mysql-db' | 'smoke_db2' | 'PART' @@ -1016,11 +1017,11 @@ class MetacatSmokeSpec extends Specification { api.deleteTable(catalogName, databaseName, newTableName) where: catalogName | databaseName | tableName | external | newTableName - 'embedded-hive-metastore' | 'smoke_db3' | 'test_create_table' | null | 'test_create_table1' - 'embedded-fast-hive-metastore' | 'fsmoke_db3' | 'test_create_table' | null | 'test_create_table1' - 'embedded-fast-hive-metastore' | 'shard' | 'test_create_table' | null | 'test_create_table1' - 'embedded-fast-hive-metastore' | 'shard' | 'test_create_tablet' | 'TRUE' | 'test_create_tablet1' - 'embedded-fast-hive-metastore' | 'shard' | 'test_create_tablef' | 'FALSE' | 'test_create_tablef1' +// 'embedded-hive-metastore' | 'smoke_db3' | 'test_create_table' | null | 'test_create_table1' +// 'embedded-fast-hive-metastore' | 'fsmoke_db3' | 'test_create_table' | null | 'test_create_table1' +// 'embedded-fast-hive-metastore' | 'shard' | 'test_create_table' | null | 'test_create_table1' +// 'embedded-fast-hive-metastore' | 'shard' | 'test_create_tablet' | 'TRUE' | 'test_create_tablet1' +// 'embedded-fast-hive-metastore' | 'shard' | 'test_create_tablef' | 'FALSE' | 'test_create_tablef1' 'hive-metastore' | 'hsmoke_db3' | 'test_create_table' | null | 'test_create_table1' } @@ -1094,8 +1095,8 @@ class MetacatSmokeSpec extends Specification { api.deleteTable(catalogName, databaseName, tableNameTagNoRenamed) where: catalogName | databaseName - 'embedded-fast-hive-metastore' | 'hsmoke_db3' - 'embedded-fast-hive-metastore' | 'fsmoke_ddb1' + 'hive-metastore' | 'hsmoke_db3' + 'hive-metastore' | 'fsmoke_ddb1' } @Unroll @@ -1125,17 +1126,17 @@ class MetacatSmokeSpec extends Specification { } where: catalogName | databaseName | tableName | viewName | error | repeat - 'embedded-hive-metastore' | 'smoke_db4' | 'part' | 'part_view' | null | false - 'embedded-hive-metastore' | 'smoke_db4' | 'part' | 'part_view' | null | true - 'embedded-fast-hive-metastore' | 'fsmoke_db4' | 'part' | 'part_view' | null | false - 'embedded-fast-hive-metastore' | 'fsmoke_db4' | 'part' | 'part_view' | null | true - 'embedded-fast-hive-metastore' | 'shard' | 'part' | 'part_view' | null | false - 'embedded-fast-hive-metastore' | 'shard' | 'part' | 'part_view' | null | true +// 'embedded-hive-metastore' | 'smoke_db4' | 'part' | 'part_view' | null | false +// 'embedded-hive-metastore' | 'smoke_db4' | 'part' | 'part_view' | null | true +// 'embedded-fast-hive-metastore' | 'fsmoke_db4' | 'part' | 'part_view' | null | false +// 'embedded-fast-hive-metastore' | 'fsmoke_db4' | 'part' | 'part_view' | null | true +// 'embedded-fast-hive-metastore' | 'shard' | 'part' | 'part_view' | null | false +// 'embedded-fast-hive-metastore' | 'shard' | 'part' | 'part_view' | null | true 'hive-metastore' | 'hsmoke_db4' | 'part' | 'part_view' | null | false 'hive-metastore' | 'hsmoke_db4' | 'part' | 'part_view' | null | true - 'embedded-hive-metastore' | 'smoke_db4' | 'metacat_all_types' | 'part_view' | null | false - 'embedded-fast-hive-metastore' | 'fsmoke_db4' | 'metacat_all_types' | 'part_view' | null | false - 'embedded-fast-hive-metastore' | 'shard' | 'metacat_all_types' | 'part_view' | null | false +// 'embedded-hive-metastore' | 'smoke_db4' | 'metacat_all_types' | 'part_view' | null | false +// 'embedded-fast-hive-metastore' | 'fsmoke_db4' | 'metacat_all_types' | 'part_view' | null | false +// 'embedded-fast-hive-metastore' | 'shard' | 'metacat_all_types' | 'part_view' | null | false 's3-mysql-db' | 'smoke_db4' | 'part' | 'part_view' | null | false 'xyz' | 'smoke_db4' | 'z' | 'part_view' | MetacatNotFoundException.class | false } @@ -1166,15 +1167,15 @@ class MetacatSmokeSpec extends Specification { } where: catalogName | databaseName | tableName | viewName | error | repeat - 'embedded-hive-metastore' | 'smoke_db4' | 'part' | 'part_view' | null | false - 'embedded-hive-metastore' | 'smoke_db4' | 'part' | 'part_view' | null | true - 'embedded-fast-hive-metastore' | 'fsmoke_db4' | 'part' | 'part_view' | null | false - 'embedded-fast-hive-metastore' | 'fsmoke_db4' | 'part' | 'part_view' | null | true - 'embedded-fast-hive-metastore' | 'shard' | 'part' | 'part_view' | null | false - 'embedded-fast-hive-metastore' | 'shard' | 'part' | 'part_view' | null | true +// 'embedded-hive-metastore' | 'smoke_db4' | 'part' | 'part_view' | null | false +// 'embedded-hive-metastore' | 'smoke_db4' | 'part' | 'part_view' | null | true +// 'embedded-fast-hive-metastore' | 'fsmoke_db4' | 'part' | 'part_view' | null | false +// 'embedded-fast-hive-metastore' | 'fsmoke_db4' | 'part' | 'part_view' | null | true +// 'embedded-fast-hive-metastore' | 'shard' | 'part' | 'part_view' | null | false +// 'embedded-fast-hive-metastore' | 'shard' | 'part' | 'part_view' | null | true 'hive-metastore' | 'hsmoke_db4' | 'part' | 'part_view' | null | false 'hive-metastore' | 'hsmoke_db4' | 'part' | 'part_view' | null | true - 'embedded-hive-metastore' | 'smoke_db4' | 'metacat_all_types' | 'part_view' | null | false +// 'embedded-hive-metastore' | 'smoke_db4' | 'metacat_all_types' | 'part_view' | null | false 's3-mysql-db' | 'smoke_db4' | 'part' | 'part_view' | null | false 'xyz' | 'smoke_db4' | 'z' | 'part_view' | MetacatNotFoundException.class | false } @@ -1188,9 +1189,9 @@ class MetacatSmokeSpec extends Specification { noExceptionThrown() where: catalogName | databaseName | tableName - 'embedded-hive-metastore' | 'smoke_db' | 'part' - 'embedded-fast-hive-metastore' | 'fsmoke_db' | 'part' - 'embedded-fast-hive-metastore' | 'shard' | 'part' +// 'embedded-hive-metastore' | 'smoke_db' | 'part' +// 'embedded-fast-hive-metastore' | 'fsmoke_db' | 'part' +// 'embedded-fast-hive-metastore' | 'shard' | 'part' 'hive-metastore' | 'hsmoke_db' | 'part' 's3-mysql-db' | 'smoke_db' | 'part' } @@ -1283,8 +1284,8 @@ class MetacatSmokeSpec extends Specification { where: catalogName | databaseName | tableName | auditOnlyPartSize - 'embedded-fast-hive-metastore' | 'fsmoke_db' | 'part' | 2 - 'embedded-fast-hive-metastore' | 'audit' | 'fsmoke_db__part__audit_12345' | 1 + 'hive-metastore' | 'fsmoke_db' | 'part' | 2 + 'hive-metastore' | 'audit' | 'fsmoke_db__part__audit_12345' | 1 } @Unroll @@ -1345,27 +1346,27 @@ class MetacatSmokeSpec extends Specification { } where: catalogName | databaseName | tableName | partitionName | uriSuffix | uriResult | repeat | alter | error - 'embedded-hive-metastore' | 'smoke_db' | 'part' | 'one=xyz' | '' | '' | false | false | null - 'embedded-hive-metastore' | 'smoke_db' | 'part' | 'one=xyz' | '/' | '' | false | false | null - 'embedded-hive-metastore' | 'smoke_db' | 'part' | 'one=xyz' | '' | '' | true | false | null - 'embedded-hive-metastore' | 'smoke_db' | 'part' | 'one=xyz' | '' | '' | true | true | null - 'embedded-hive-metastore' | 'smoke_db' | 'part' | 'two=xyz' | '' | '' | false | false | MetacatBadRequestException.class - 'embedded-fast-hive-metastore' | 'fsmoke_db' | 'part' | 'one=xyz' | '' | '' | false | false | null - 'embedded-fast-hive-metastore' | 'fsmoke_db' | 'part' | 'one=xyz' | '/' | '' | false | false | null - 'embedded-fast-hive-metastore' | 'fsmoke_db' | 'part' | 'one=xyz' | '' | '' | true | false | null - 'embedded-fast-hive-metastore' | 'fsmoke_db' | 'part' | 'one=xyz' | '/' | '' | true | false | null - 'embedded-fast-hive-metastore' | 'fsmoke_db' | 'part' | 'one=xyz' | '' | '' | true | true | null - 'embedded-fast-hive-metastore' | 'fsmoke_db' | 'part' | 'one=xyz' | '/' | '' | true | true | null - 'embedded-fast-hive-metastore' | 'fsmoke_db' | 'part' | "one=xy'z" | '' | '' | false | false | null - 'embedded-fast-hive-metastore' | 'fsmoke_db' | 'part' | "one=xy'z" | '' | '' | false | true | null - 'embedded-fast-hive-metastore' | 'fsmoke_db' | 'part' | 'two=xyz' | '' | '' | false | false | MetacatBadRequestException.class - 'embedded-fast-hive-metastore' | 'shard' | 'part' | 'one=xyz' | '' | '' | false | false | null - 'embedded-fast-hive-metastore' | 'shard' | 'part' | 'one=xyz' | '/' | '' | false | false | null - 'embedded-fast-hive-metastore' | 'shard' | 'part' | 'one=xyz' | '' | '' | true | false | null - 'embedded-fast-hive-metastore' | 'shard' | 'part' | 'one=xyz' | '/' | '' | true | false | null - 'embedded-fast-hive-metastore' | 'shard' | 'part' | 'one=xyz' | '' | '' | true | true | null - 'embedded-fast-hive-metastore' | 'shard' | 'part' | 'one=xyz' | '/' | '' | true | true | null - 'embedded-fast-hive-metastore' | 'shard' | 'part' | 'two=xyz' | '' | '' | false | false | MetacatBadRequestException.class +// 'embedded-hive-metastore' | 'smoke_db' | 'part' | 'one=xyz' | '' | '' | false | false | null +// 'embedded-hive-metastore' | 'smoke_db' | 'part' | 'one=xyz' | '/' | '' | false | false | null +// 'embedded-hive-metastore' | 'smoke_db' | 'part' | 'one=xyz' | '' | '' | true | false | null +// 'embedded-hive-metastore' | 'smoke_db' | 'part' | 'one=xyz' | '' | '' | true | true | null +// 'embedded-hive-metastore' | 'smoke_db' | 'part' | 'two=xyz' | '' | '' | false | false | MetacatBadRequestException.class +// 'embedded-fast-hive-metastore' | 'fsmoke_db' | 'part' | 'one=xyz' | '' | '' | false | false | null +// 'embedded-fast-hive-metastore' | 'fsmoke_db' | 'part' | 'one=xyz' | '/' | '' | false | false | null +// 'embedded-fast-hive-metastore' | 'fsmoke_db' | 'part' | 'one=xyz' | '' | '' | true | false | null +// 'embedded-fast-hive-metastore' | 'fsmoke_db' | 'part' | 'one=xyz' | '/' | '' | true | false | null +// 'embedded-fast-hive-metastore' | 'fsmoke_db' | 'part' | 'one=xyz' | '' | '' | true | true | null +// 'embedded-fast-hive-metastore' | 'fsmoke_db' | 'part' | 'one=xyz' | '/' | '' | true | true | null +// 'embedded-fast-hive-metastore' | 'fsmoke_db' | 'part' | "one=xy'z" | '' | '' | false | false | null +// 'embedded-fast-hive-metastore' | 'fsmoke_db' | 'part' | "one=xy'z" | '' | '' | false | true | null +// 'embedded-fast-hive-metastore' | 'fsmoke_db' | 'part' | 'two=xyz' | '' | '' | false | false | MetacatBadRequestException.class +// 'embedded-fast-hive-metastore' | 'shard' | 'part' | 'one=xyz' | '' | '' | false | false | null +// 'embedded-fast-hive-metastore' | 'shard' | 'part' | 'one=xyz' | '/' | '' | false | false | null +// 'embedded-fast-hive-metastore' | 'shard' | 'part' | 'one=xyz' | '' | '' | true | false | null +// 'embedded-fast-hive-metastore' | 'shard' | 'part' | 'one=xyz' | '/' | '' | true | false | null +// 'embedded-fast-hive-metastore' | 'shard' | 'part' | 'one=xyz' | '' | '' | true | true | null +// 'embedded-fast-hive-metastore' | 'shard' | 'part' | 'one=xyz' | '/' | '' | true | true | null +// 'embedded-fast-hive-metastore' | 'shard' | 'part' | 'two=xyz' | '' | '' | false | false | MetacatBadRequestException.class 'hive-metastore' | 'hsmoke_db' | 'part' | 'one=xyz' | '' | '' | false | false | null 'hive-metastore' | 'hsmoke_db' | 'part' | 'one=xyz' | '' | '' | true | false | null 'hive-metastore' | 'hsmoke_db' | 'part' | 'one=xyz' | '' | '' | true | true | null @@ -1398,15 +1399,15 @@ class MetacatSmokeSpec extends Specification { partitionApi.deletePartitions(catalogName, databaseName, tableName, [partitionName]) where: catalogName | databaseName | tableName | partitionName | serdeNull | locationNull - 'embedded-hive-metastore' | 'smoke_db7' | 'part' | 'one=xyz' | true | true - 'embedded-hive-metastore' | 'smoke_db7' | 'part' | 'one=xyz' | true | false - 'embedded-hive-metastore' | 'smoke_db7' | 'part' | 'one=xyz' | false | true - 'embedded-fast-hive-metastore' | 'fsmoke_db7' | 'part' | 'one=xyz' | true | true - 'embedded-fast-hive-metastore' | 'fsmoke_db7' | 'part' | 'one=xyz' | true | false - 'embedded-fast-hive-metastore' | 'fsmoke_db7' | 'part' | 'one=xyz' | false | true - 'embedded-fast-hive-metastore' | 'shard' | 'part' | 'one=xyz' | true | true - 'embedded-fast-hive-metastore' | 'shard' | 'part' | 'one=xyz' | true | false - 'embedded-fast-hive-metastore' | 'shard' | 'part' | 'one=xyz' | false | true +// 'embedded-hive-metastore' | 'smoke_db7' | 'part' | 'one=xyz' | true | true +// 'embedded-hive-metastore' | 'smoke_db7' | 'part' | 'one=xyz' | true | false +// 'embedded-hive-metastore' | 'smoke_db7' | 'part' | 'one=xyz' | false | true +// 'embedded-fast-hive-metastore' | 'fsmoke_db7' | 'part' | 'one=xyz' | true | true +// 'embedded-fast-hive-metastore' | 'fsmoke_db7' | 'part' | 'one=xyz' | true | false +// 'embedded-fast-hive-metastore' | 'fsmoke_db7' | 'part' | 'one=xyz' | false | true +// 'embedded-fast-hive-metastore' | 'shard' | 'part' | 'one=xyz' | true | true +// 'embedded-fast-hive-metastore' | 'shard' | 'part' | 'one=xyz' | true | false +// 'embedded-fast-hive-metastore' | 'shard' | 'part' | 'one=xyz' | false | true 'hive-metastore' | 'hsmoke_db7' | 'part' | 'one=xyz' | true | true 'hive-metastore' | 'hsmoke_db7' | 'part' | 'one=xyz' | true | false 'hive-metastore' | 'hsmoke_db7' | 'part' | 'one=xyz' | false | true @@ -1525,7 +1526,7 @@ class MetacatSmokeSpec extends Specification { then: noExceptionThrown() where: - catalogName << ['embedded-hive-metastore', 'hive-metastore', 's3-mysql-db'] + catalogName << ['hive-metastore', 's3-mysql-db'] } @Unroll @@ -1574,84 +1575,84 @@ class MetacatSmokeSpec extends Specification { then: noExceptionThrown() where: - catalogName << ['embedded-hive-metastore', 'hive-metastore', 's3-mysql-db'] + catalogName << ['hive-metastore', 's3-mysql-db'] } - @Unroll - def "Test: embedded-hive-metastore get partitions for filter #filter with offset #offset and limit #limit returned #result partitions"() { - given: - if (cursor == 'start') { - def uri = isLocalEnv ? 'file:/tmp/abc' : null - createTable('embedded-hive-metastore', 'smoke_db', 'parts') - partitionApi.savePartitions('embedded-hive-metastore', 'smoke_db', 'parts', new PartitionsSaveRequestDto(partitions: PigDataDtoProvider.getPartitions('embedded-hive-metastore', 'smoke_db', 'parts', 'one=xyz/total=1', uri, 10))) - } - def partitionKeys = partitionApi.getPartitionKeys('embedded-hive-metastore', 'smoke_db', 'parts', filter, null, null, offset, limit) - - expect: - partitionKeys.size() == result - cleanup: - if (cursor == 'end') { - def partitionKeysToDrop = partitionApi.getPartitionKeys('embedded-hive-metastore', 'smoke_db', 'parts', null, null, null, null, null) - partitionApi.deletePartitions('embedded-hive-metastore', 'smoke_db', 'parts', partitionKeysToDrop) - } - where: - cursor | filter | offset | limit | result - 'start' | "one=='xyz'" | null | null | 10 - '' | "one=='xyz' and one like 'xy_'" | null | null | 10 - '' | "one=='xyz' and one like 'xy_'" | 0 | 10 | 10 - '' | "one=='xyz' and one like 'xy_'" | 5 | 10 | 5 - '' | "one=='xyz' and one like 'xy_'" | 10 | 10 | 0 - '' | "(one=='xyz') and one like 'xy%'" | null | null | 10 - '' | "one like 'xy%'" | null | null | 10 - '' | "one not like 'xy%'" | null | null | 0 - '' | "total==10" | null | null | 1 - '' | "total<1" | null | null | 0 - '' | "total>1" | null | null | 10 - '' | "total>=10" | null | null | 10 - '' | "total<=20" | null | null | 10 - '' | "total between 0 and 20" | null | null | 10 - '' | "total between 0 and 20 and one='xyz'" | null | null | 10 - '' | "total not between 0 and 20" | null | null | 0 - '' | "total between 20 and 30" | null | null | 0 - '' | "total between 19 and 19" | null | null | 1 - '' | "total in (19)" | null | null | 1 - '' | "total in (18,19,20,21)" | null | null | 2 - '' | "total not in (18,19,20,21)" | null | null | 8 - '' | "one=='xyz' and (total==11 or total==12)" | null | null | 2 - '' | null | 0 | 10 | 10 - '' | null | 5 | 10 | 5 - 'end' | null | 10 | 10 | 0 - - } - - @Unroll - def "Test: embedded-hive-metastore get partitions for #filter with null partition values and partition names with hyphen"() { - given: - if (cursor == 'start') { - def uri = isLocalEnv ? 'file:/tmp/abc' : null - createTable('embedded-hive-metastore', 'smoke_db', 'part_hyphen') - partitionApi.savePartitions('embedded-hive-metastore', 'smoke_db', 'part_hyphen', new PartitionsSaveRequestDto(partitions: PigDataDtoProvider.getPartitions('embedded-hive-metastore', 'smoke_db', 'part_hyphen', 'one-one=xyz/total=1', uri, 10))) - partitionApi.savePartitions('embedded-hive-metastore', 'smoke_db', 'part_hyphen', new PartitionsSaveRequestDto(partitions: PigDataDtoProvider.getPartitions('embedded-hive-metastore', 'smoke_db', 'part_hyphen', 'one-one=__HIVE_DEFAULT_PARTITION__/total=1', uri, 10))) - partitionApi.savePartitions('embedded-hive-metastore', 'smoke_db', 'part_hyphen', new PartitionsSaveRequestDto(partitions: [PigDataDtoProvider.getPartition('embedded-hive-metastore', 'smoke_db', 'part_hyphen', 'one-one=xyz/total=__HIVE_DEFAULT_PARTITION__', uri)])) - } - def partitionKeys = partitionApi.getPartitionKeys('embedded-hive-metastore', 'smoke_db', 'part_hyphen', filter, null, null, offset, limit) - - expect: - partitionKeys.size() == result - cleanup: - if (cursor == 'end') { - def partitionKeysToDrop = partitionApi.getPartitionKeys('embedded-hive-metastore', 'smoke_db', 'part_hyphen', null, null, null, null, null) - partitionApi.deletePartitions('embedded-hive-metastore', 'smoke_db', 'part_hyphen', partitionKeysToDrop) - } - where: - cursor | filter | offset | limit | result - 'start' | "one-one=='xyz'" | null | null | 11 - '' | "one-one is null" | null | null | 10 - '' | "total is null" | 0 | 10 | 1 - '' | "one-one is null and total=10" | 0 | 10 | 1 - '' | "one-one is null or total=1" | 0 | 10 | 10 - 'end' | "one-one is null or one-one=='xyz'" | null | null | 21 - } +// @Unroll +// def "Test: embedded-hive-metastore get partitions for filter #filter with offset #offset and limit #limit returned #result partitions"() { +// given: +// if (cursor == 'start') { +// def uri = isLocalEnv ? 'file:/tmp/abc' : null +// createTable('embedded-hive-metastore', 'smoke_db', 'parts') +// partitionApi.savePartitions('embedded-hive-metastore', 'smoke_db', 'parts', new PartitionsSaveRequestDto(partitions: PigDataDtoProvider.getPartitions('embedded-hive-metastore', 'smoke_db', 'parts', 'one=xyz/total=1', uri, 10))) +// } +// def partitionKeys = partitionApi.getPartitionKeys('embedded-hive-metastore', 'smoke_db', 'parts', filter, null, null, offset, limit) +// +// expect: +// partitionKeys.size() == result +// cleanup: +// if (cursor == 'end') { +// def partitionKeysToDrop = partitionApi.getPartitionKeys('embedded-hive-metastore', 'smoke_db', 'parts', null, null, null, null, null) +// partitionApi.deletePartitions('embedded-hive-metastore', 'smoke_db', 'parts', partitionKeysToDrop) +// } +// where: +// cursor | filter | offset | limit | result +// 'start' | "one=='xyz'" | null | null | 10 +// '' | "one=='xyz' and one like 'xy_'" | null | null | 10 +// '' | "one=='xyz' and one like 'xy_'" | 0 | 10 | 10 +// '' | "one=='xyz' and one like 'xy_'" | 5 | 10 | 5 +// '' | "one=='xyz' and one like 'xy_'" | 10 | 10 | 0 +// '' | "(one=='xyz') and one like 'xy%'" | null | null | 10 +// '' | "one like 'xy%'" | null | null | 10 +// '' | "one not like 'xy%'" | null | null | 0 +// '' | "total==10" | null | null | 1 +// '' | "total<1" | null | null | 0 +// '' | "total>1" | null | null | 10 +// '' | "total>=10" | null | null | 10 +// '' | "total<=20" | null | null | 10 +// '' | "total between 0 and 20" | null | null | 10 +// '' | "total between 0 and 20 and one='xyz'" | null | null | 10 +// '' | "total not between 0 and 20" | null | null | 0 +// '' | "total between 20 and 30" | null | null | 0 +// '' | "total between 19 and 19" | null | null | 1 +// '' | "total in (19)" | null | null | 1 +// '' | "total in (18,19,20,21)" | null | null | 2 +// '' | "total not in (18,19,20,21)" | null | null | 8 +// '' | "one=='xyz' and (total==11 or total==12)" | null | null | 2 +// '' | null | 0 | 10 | 10 +// '' | null | 5 | 10 | 5 +// 'end' | null | 10 | 10 | 0 +// +// } +// +// @Unroll +// def "Test: embedded-hive-metastore get partitions for #filter with null partition values and partition names with hyphen"() { +// given: +// if (cursor == 'start') { +// def uri = isLocalEnv ? 'file:/tmp/abc' : null +// createTable('embedded-hive-metastore', 'smoke_db', 'part_hyphen') +// partitionApi.savePartitions('embedded-hive-metastore', 'smoke_db', 'part_hyphen', new PartitionsSaveRequestDto(partitions: PigDataDtoProvider.getPartitions('embedded-hive-metastore', 'smoke_db', 'part_hyphen', 'one-one=xyz/total=1', uri, 10))) +// partitionApi.savePartitions('embedded-hive-metastore', 'smoke_db', 'part_hyphen', new PartitionsSaveRequestDto(partitions: PigDataDtoProvider.getPartitions('embedded-hive-metastore', 'smoke_db', 'part_hyphen', 'one-one=__HIVE_DEFAULT_PARTITION__/total=1', uri, 10))) +// partitionApi.savePartitions('embedded-hive-metastore', 'smoke_db', 'part_hyphen', new PartitionsSaveRequestDto(partitions: [PigDataDtoProvider.getPartition('embedded-hive-metastore', 'smoke_db', 'part_hyphen', 'one-one=xyz/total=__HIVE_DEFAULT_PARTITION__', uri)])) +// } +// def partitionKeys = partitionApi.getPartitionKeys('embedded-hive-metastore', 'smoke_db', 'part_hyphen', filter, null, null, offset, limit) +// +// expect: +// partitionKeys.size() == result +// cleanup: +// if (cursor == 'end') { +// def partitionKeysToDrop = partitionApi.getPartitionKeys('embedded-hive-metastore', 'smoke_db', 'part_hyphen', null, null, null, null, null) +// partitionApi.deletePartitions('embedded-hive-metastore', 'smoke_db', 'part_hyphen', partitionKeysToDrop) +// } +// where: +// cursor | filter | offset | limit | result +// 'start' | "one-one=='xyz'" | null | null | 11 +// '' | "one-one is null" | null | null | 10 +// '' | "total is null" | 0 | 10 | 1 +// '' | "one-one is null and total=10" | 0 | 10 | 1 +// '' | "one-one is null or total=1" | 0 | 10 | 10 +// 'end' | "one-one is null or one-one=='xyz'" | null | null | 21 +// } @Unroll def "Load test save partitions for #catalogName/#databaseName/#tableName with partition names(#count) starting with #partitionName"() { @@ -1677,21 +1678,21 @@ class MetacatSmokeSpec extends Specification { partitionApi.deletePartitions(catalogName, databaseName, tableName, partitionNames) where: catalogName | databaseName | tableName | partitionName | count | alter - 'embedded-hive-metastore' | 'smoke_db5' | 'part' | 'one=xyz' | 10 | 0 - 'embedded-hive-metastore' | 'smoke_db5' | 'part' | 'one=xyz' | 10 | 10 - 'embedded-hive-metastore' | 'smoke_db5' | 'part' | 'one=xyz' | 10 | 5 - 'embedded-fast-hive-metastore' | 'fsmoke_db5' | 'part' | 'one=xyz' | 10 | 0 - 'embedded-fast-hive-metastore' | 'fsmoke_db5' | 'part' | 'one=xyz' | 10 | 10 - 'embedded-fast-hive-metastore' | 'fsmoke_db5' | 'part' | 'one=xyz' | 10 | 5 +// 'embedded-hive-metastore' | 'smoke_db5' | 'part' | 'one=xyz' | 10 | 0 +// 'embedded-hive-metastore' | 'smoke_db5' | 'part' | 'one=xyz' | 10 | 10 +// 'embedded-hive-metastore' | 'smoke_db5' | 'part' | 'one=xyz' | 10 | 5 +// 'embedded-fast-hive-metastore' | 'fsmoke_db5' | 'part' | 'one=xyz' | 10 | 0 +// 'embedded-fast-hive-metastore' | 'fsmoke_db5' | 'part' | 'one=xyz' | 10 | 10 +// 'embedded-fast-hive-metastore' | 'fsmoke_db5' | 'part' | 'one=xyz' | 10 | 5 'hive-metastore' | 'hsmoke_db5' | 'part' | 'one=xyz' | 10 | 0 'hive-metastore' | 'hsmoke_db5' | 'part' | 'one=xyz' | 10 | 10 'hive-metastore' | 'hsmoke_db5' | 'part' | 'one=xyz' | 10 | 5 - 'embedded-hive-metastore' | 'smoke_db5' | 'part' | 'one=xyz' | 15 | 0 - 'embedded-hive-metastore' | 'smoke_db5' | 'part' | 'one=xyz' | 15 | 15 - 'embedded-hive-metastore' | 'smoke_db5' | 'part' | 'one=xyz' | 15 | 5 - 'embedded-fast-hive-metastore' | 'fsmoke_db5' | 'part' | 'one=xyz' | 15 | 0 - 'embedded-fast-hive-metastore' | 'fsmoke_db5' | 'part' | 'one=xyz' | 15 | 15 - 'embedded-fast-hive-metastore' | 'fsmoke_db5' | 'part' | 'one=xyz' | 15 | 5 +// 'embedded-hive-metastore' | 'smoke_db5' | 'part' | 'one=xyz' | 15 | 0 +// 'embedded-hive-metastore' | 'smoke_db5' | 'part' | 'one=xyz' | 15 | 15 +// 'embedded-hive-metastore' | 'smoke_db5' | 'part' | 'one=xyz' | 15 | 5 +// 'embedded-fast-hive-metastore' | 'fsmoke_db5' | 'part' | 'one=xyz' | 15 | 0 +// 'embedded-fast-hive-metastore' | 'fsmoke_db5' | 'part' | 'one=xyz' | 15 | 15 +// 'embedded-fast-hive-metastore' | 'fsmoke_db5' | 'part' | 'one=xyz' | 15 | 5 'hive-metastore' | 'hsmoke_db5' | 'part' | 'one=xyz' | 15 | 0 'hive-metastore' | 'hsmoke_db5' | 'part' | 'one=xyz' | 15 | 15 'hive-metastore' | 'hsmoke_db5' | 'part' | 'one=xyz' | 15 | 5 @@ -1700,7 +1701,7 @@ class MetacatSmokeSpec extends Specification { @Unroll def "Test Get partitions threshold"() { given: - def catalogName = 'embedded-fast-hive-metastore' + def catalogName = 'hive-metastore' def databaseName = 'fsmoke_db5' def tableName = 'part' def request = new PartitionsSaveRequestDto() @@ -1753,12 +1754,12 @@ class MetacatSmokeSpec extends Specification { api.deleteTable(catalogName, databaseName, tableName) where: catalogName | databaseName | tableName | tags | repeat - 'embedded-hive-metastore' | 'smoke_db6' | 'part' | ['test'] as Set | true - 'embedded-hive-metastore' | 'smoke_db6' | 'part' | ['test', 'unused'] as Set | false - 'embedded-fast-hive-metastore' | 'fsmoke_db6' | 'part' | ['test'] as Set | true - 'embedded-fast-hive-metastore' | 'fsmoke_db6' | 'part' | ['test', 'unused'] as Set | false - 'embedded-fast-hive-metastore' | 'shard' | 'part' | ['test'] as Set | true - 'embedded-fast-hive-metastore' | 'shard' | 'part' | ['test', 'unused'] as Set | false +// 'embedded-hive-metastore' | 'smoke_db6' | 'part' | ['test'] as Set | true +// 'embedded-hive-metastore' | 'smoke_db6' | 'part' | ['test', 'unused'] as Set | false +// 'embedded-fast-hive-metastore' | 'fsmoke_db6' | 'part' | ['test'] as Set | true +// 'embedded-fast-hive-metastore' | 'fsmoke_db6' | 'part' | ['test', 'unused'] as Set | false +// 'embedded-fast-hive-metastore' | 'shard' | 'part' | ['test'] as Set | true +// 'embedded-fast-hive-metastore' | 'shard' | 'part' | ['test', 'unused'] as Set | false 'hive-metastore' | 'hsmoke_db6' | 'part' | ['test'] as Set | true 'hive-metastore' | 'hsmoke_db6' | 'part' | ['test', 'unused'] as Set | false 's3-mysql-db' | 'smoke_db6' | 'part' | ['test'] as Set | true @@ -1824,12 +1825,12 @@ class MetacatSmokeSpec extends Specification { where: catalogName | databaseName | tableName | tags | repeat - 'embedded-hive-metastore' | 'smoke_db6' | 'part' | ['test_tag'] as List | true - 'embedded-hive-metastore' | 'smoke_db6' | 'part' | ['test_tag', 'unused'] as List | false - 'embedded-fast-hive-metastore' | 'fsmoke_db6' | 'part' | ['test_tag'] as List | true - 'embedded-fast-hive-metastore' | 'fsmoke_db6' | 'part' | ['test_tag', 'unused'] as List | false - 'embedded-fast-hive-metastore' | 'shard' | 'part' | ['test_tag'] as List | true - 'embedded-fast-hive-metastore' | 'shard' | 'part' | ['test_tag', 'unused'] as List | false +// 'embedded-hive-metastore' | 'smoke_db6' | 'part' | ['test_tag'] as List | true +// 'embedded-hive-metastore' | 'smoke_db6' | 'part' | ['test_tag', 'unused'] as List | false +// 'embedded-fast-hive-metastore' | 'fsmoke_db6' | 'part' | ['test_tag'] as List | true +// 'embedded-fast-hive-metastore' | 'fsmoke_db6' | 'part' | ['test_tag', 'unused'] as List | false +// 'embedded-fast-hive-metastore' | 'shard' | 'part' | ['test_tag'] as List | true +// 'embedded-fast-hive-metastore' | 'shard' | 'part' | ['test_tag', 'unused'] as List | false 'hive-metastore' | 'hsmoke_db6' | 'part' | ['test_tag'] as List | true 'hive-metastore' | 'hsmoke_db6' | 'part' | ['test_tag', 'unused'] as List | false 's3-mysql-db' | 'smoke_db6' | 'part' | ['test_tag'] as List | true @@ -1870,9 +1871,9 @@ class MetacatSmokeSpec extends Specification { api.deleteMView(catalogName, databaseName, tableName, viewName) where: catalogName | databaseName | tableName | viewName |tags - 'embedded-hive-metastore' | 'smoke_db4' | 'part' | 'part_view' | ['test_tag'] as List - 'embedded-fast-hive-metastore' | 'fsmoke_db4' | 'part' | 'part_view' | ['test_tag'] as List - 'embedded-fast-hive-metastore' | 'shard' | 'part' | 'part_view' | ['test_tag'] as List +// 'embedded-hive-metastore' | 'smoke_db4' | 'part' | 'part_view' | ['test_tag'] as List +// 'embedded-fast-hive-metastore' | 'fsmoke_db4' | 'part' | 'part_view' | ['test_tag'] as List +// 'embedded-fast-hive-metastore' | 'shard' | 'part' | 'part_view' | ['test_tag'] as List 'hive-metastore' | 'hsmoke_db4' | 'part' | 'part_view' | ['test_tag'] as List 's3-mysql-db' | 'smoke_db4' | 'part' | 'part_view' | ['test_tag'] as List } @@ -1886,10 +1887,10 @@ class MetacatSmokeSpec extends Specification { thrown(MetacatNotFoundException) where: catalogName | databaseName | tableName | partitionNames - 'embedded-hive-metastore' | 'smoke_db' | 'part' | ['one=invalid'] - 'embedded-hive-metastore' | 'smoke_db' | 'part' | ['one=test', 'one=invalid'] - 'embedded-hive-metastore' | 'smoke_db' | 'part' | ['one=test', 'one=invalid'] - 'embedded-hive-metastore' | 'smoke_db' | 'invalid' | ['one=test', 'one=invalid'] +// 'embedded-hive-metastore' | 'smoke_db' | 'part' | ['one=invalid'] +// 'embedded-hive-metastore' | 'smoke_db' | 'part' | ['one=test', 'one=invalid'] +// 'embedded-hive-metastore' | 'smoke_db' | 'part' | ['one=test', 'one=invalid'] +// 'embedded-hive-metastore' | 'smoke_db' | 'invalid' | ['one=test', 'one=invalid'] 'hive-metastore' | 'hsmoke_db' | 'part' | ['one=invalid'] 'hive-metastore' | 'hsmoke_db' | 'part' | ['one=test', 'one=invalid'] 'hive-metastore' | 'hsmoke_db' | 'part' | ['one=test', 'one=invalid'] @@ -1910,13 +1911,13 @@ class MetacatSmokeSpec extends Specification { api.deleteTable(qName.getCatalogName(), qName.getDatabaseName(), qName.getTableName()) where: name | force - 'embedded-hive-metastore/smoke_db/dm' | false - 'embedded-hive-metastore/smoke_db/dm' | true + 'hive-metastore/smoke_db/dm' | false + 'hive-metastore/smoke_db/dm' | true } def "List definition metadata valid and invalid sortBy" () { given: - def qName = "embedded-hive-metastore/smoke_db/dm" + def qName = "hive-metastore/smoke_db/dm" when: metadataApi.getDefinitionMetadataList("zz_invalid", null, null, null, null, null, qName, null) then: @@ -1942,9 +1943,9 @@ class MetacatSmokeSpec extends Specification { then: list.isEmpty() where: - name << ['embedded-hive-metastore/invalid/dm', - 'embedded-hive-metastore/invalid/dm/vm', - 'embedded-hive-metastore/invalid/dm/vm=1'] + name << ['hive-metastore/invalid/dm', + 'hive-metastore/invalid/dm/vm', + 'hive-metastore/invalid/dm/vm=1'] } def "Test Set tags for all scenarios"() { @@ -2028,7 +2029,7 @@ class MetacatSmokeSpec extends Specification { def 'testCloneTableE2E'() { given: - def catalogName = 'embedded-fast-hive-metastore' + def catalogName = 'hive-metastore' def databaseName = 'iceberg_db' // First parent child connected component @@ -2093,16 +2094,16 @@ class MetacatSmokeSpec extends Specification { then: // Test Parent 1 parentChildInfo assert parent1Table.definitionMetadata.get("parentChildRelationInfo").get("isParent").booleanValue() - assert parentChildRelV1.getChildren(catalogName, databaseName, parent1) == [new ChildInfoDto("embedded-fast-hive-metastore/iceberg_db/child11", "CLONE", "c11_uuid")] as Set + assert parentChildRelV1.getChildren(catalogName, databaseName, parent1) == [new ChildInfoDto("hive-metastore/iceberg_db/child11", "CLONE", "c11_uuid")] as Set assert parentChildRelV1.getParents(catalogName, databaseName, parent1).isEmpty() // Test Child11 parentChildInfo assert !child11Table.definitionMetadata.get("parentChildRelationInfo").has("isParent") assert child11Table.definitionMetadata.get("random_key").asText() == "random_value" JSONAssert.assertEquals(child11Table.definitionMetadata.get("parentChildRelationInfo").toString(), - '{"parentInfos":[{"name":"embedded-fast-hive-metastore/iceberg_db/parent1","relationType":"CLONE", "uuid":"p1_uuid"}]}', + '{"parentInfos":[{"name":"hive-metastore/iceberg_db/parent1","relationType":"CLONE", "uuid":"p1_uuid"}]}', false) - assert parentChildRelV1.getParents(catalogName, databaseName, child11) == [new ParentInfoDto("embedded-fast-hive-metastore/iceberg_db/parent1", "CLONE", "p1_uuid")] as Set + assert parentChildRelV1.getParents(catalogName, databaseName, child11) == [new ParentInfoDto("hive-metastore/iceberg_db/parent1", "CLONE", "p1_uuid")] as Set assert parentChildRelV1.getChildren(catalogName, databaseName, child11).isEmpty() /* @@ -2122,17 +2123,17 @@ class MetacatSmokeSpec extends Specification { // Test Parent 1 parentChildInfo assert parent1Table.definitionMetadata.get("parentChildRelationInfo").get("isParent").booleanValue() assert parentChildRelV1.getChildren(catalogName, databaseName, parent1) == [ - new ChildInfoDto("embedded-fast-hive-metastore/iceberg_db/child11", "CLONE", "c11_uuid"), + new ChildInfoDto("hive-metastore/iceberg_db/child11", "CLONE", "c11_uuid"), ] as Set assert parentChildRelV1.getParents(catalogName, databaseName, parent1).isEmpty() // Test Child11 parentChildInfo assert !child11Table.definitionMetadata.get("parentChildRelationInfo").has("isParent") assert child11Table.definitionMetadata.get("random_key").asText() == "random_value" JSONAssert.assertEquals(child11Table.definitionMetadata.get("parentChildRelationInfo").toString(), - '{"parentInfos":[{"name":"embedded-fast-hive-metastore/iceberg_db/parent1","relationType":"CLONE", "uuid":"p1_uuid"}]}', + '{"parentInfos":[{"name":"hive-metastore/iceberg_db/parent1","relationType":"CLONE", "uuid":"p1_uuid"}]}', false) assert parentChildRelV1.getChildren(catalogName, databaseName, child11).isEmpty() - assert parentChildRelV1.getParents(catalogName, databaseName, child11) == [new ParentInfoDto("embedded-fast-hive-metastore/iceberg_db/parent1", "CLONE", "p1_uuid")] as Set + assert parentChildRelV1.getParents(catalogName, databaseName, child11) == [new ParentInfoDto("hive-metastore/iceberg_db/parent1", "CLONE", "p1_uuid")] as Set /* Step 3: create another table with the same child1 name but different uuid under the same parent should fail @@ -2193,17 +2194,17 @@ class MetacatSmokeSpec extends Specification { then: // Test Parent 1 parentChildInfo assert parent1Table.definitionMetadata.get("parentChildRelationInfo").get("isParent").booleanValue() - assert parentChildRelV1.getChildren(catalogName, databaseName, parent1) == [new ChildInfoDto("embedded-fast-hive-metastore/iceberg_db/child11", "CLONE", "c11_uuid")] as Set + assert parentChildRelV1.getChildren(catalogName, databaseName, parent1) == [new ChildInfoDto("hive-metastore/iceberg_db/child11", "CLONE", "c11_uuid")] as Set assert parentChildRelV1.getParents(catalogName, databaseName, parent1).isEmpty() // Test Child11 parentChildInfo assert !child11Table.definitionMetadata.get("parentChildRelationInfo").has("isParent") assert child11Table.definitionMetadata.get("random_key").asText() == "random_value" JSONAssert.assertEquals(child11Table.definitionMetadata.get("parentChildRelationInfo").toString(), - '{"parentInfos":[{"name":"embedded-fast-hive-metastore/iceberg_db/parent1","relationType":"CLONE", "uuid":"p1_uuid"}]}', + '{"parentInfos":[{"name":"hive-metastore/iceberg_db/parent1","relationType":"CLONE", "uuid":"p1_uuid"}]}', false) assert parentChildRelV1.getChildren(catalogName, databaseName, child11).isEmpty() - assert parentChildRelV1.getParents(catalogName, databaseName, child11) == [new ParentInfoDto("embedded-fast-hive-metastore/iceberg_db/parent1", "CLONE", "p1_uuid")] as Set + assert parentChildRelV1.getParents(catalogName, databaseName, child11) == [new ParentInfoDto("hive-metastore/iceberg_db/parent1", "CLONE", "p1_uuid")] as Set /* @@ -2221,18 +2222,18 @@ class MetacatSmokeSpec extends Specification { // Test Parent 1 parentChildInfo assert parent1Table.definitionMetadata.get("parentChildRelationInfo").get("isParent").booleanValue() assert parentChildRelV1.getChildren(catalogName, databaseName, parent1) == [ - new ChildInfoDto("embedded-fast-hive-metastore/iceberg_db/child11", "CLONE", "c11_uuid"), - new ChildInfoDto("embedded-fast-hive-metastore/iceberg_db/child12", "CLONE", "c12_uuid") + new ChildInfoDto("hive-metastore/iceberg_db/child11", "CLONE", "c11_uuid"), + new ChildInfoDto("hive-metastore/iceberg_db/child12", "CLONE", "c12_uuid") ] as Set assert parentChildRelV1.getParents(catalogName, databaseName, parent1).isEmpty() // Test Child12 parentChildInfo assert !child12Table.definitionMetadata.get("parentChildRelationInfo").has("isParent") JSONAssert.assertEquals(child12Table.definitionMetadata.get("parentChildRelationInfo").toString(), - '{"parentInfos":[{"name":"embedded-fast-hive-metastore/iceberg_db/parent1","relationType":"CLONE","uuid":"p1_uuid"}]}', + '{"parentInfos":[{"name":"hive-metastore/iceberg_db/parent1","relationType":"CLONE","uuid":"p1_uuid"}]}', false) assert parentChildRelV1.getChildren(catalogName, databaseName, child12).isEmpty() - assert parentChildRelV1.getParents(catalogName, databaseName, child12) == [new ParentInfoDto("embedded-fast-hive-metastore/iceberg_db/parent1", "CLONE", "p1_uuid")] as Set + assert parentChildRelV1.getParents(catalogName, databaseName, child12) == [new ParentInfoDto("hive-metastore/iceberg_db/parent1", "CLONE", "p1_uuid")] as Set /* Step 8: create a parent table on top of another parent table should fail @@ -2279,16 +2280,16 @@ class MetacatSmokeSpec extends Specification { // Test Parent 2 parentChildInfo assert parent2Table.definitionMetadata.get("parentChildRelationInfo").get("isParent").booleanValue() assert parentChildRelV1.getChildren(catalogName, databaseName, parent2) == [ - new ChildInfoDto("embedded-fast-hive-metastore/iceberg_db/child21", "CLONE", "c21_uuid") + new ChildInfoDto("hive-metastore/iceberg_db/child21", "CLONE", "c21_uuid") ] as Set assert parentChildRelV1.getParents(catalogName, databaseName, parent2).isEmpty() // Test Child21 parentChildInfo JSONAssert.assertEquals(child21Table.definitionMetadata.get("parentChildRelationInfo").toString(), - '{"parentInfos":[{"name":"embedded-fast-hive-metastore/iceberg_db/parent2","relationType":"CLONE","uuid":"p2_uuid"}]}', + '{"parentInfos":[{"name":"hive-metastore/iceberg_db/parent2","relationType":"CLONE","uuid":"p2_uuid"}]}', false) assert parentChildRelV1.getChildren(catalogName, databaseName, child21).isEmpty() - assert parentChildRelV1.getParents(catalogName, databaseName, child21) == [new ParentInfoDto("embedded-fast-hive-metastore/iceberg_db/parent2", "CLONE", "p2_uuid")] as Set + assert parentChildRelV1.getParents(catalogName, databaseName, child21) == [new ParentInfoDto("hive-metastore/iceberg_db/parent2", "CLONE", "p2_uuid")] as Set /* Step 11: Create a table newParent1 without any parent child rel info @@ -2312,25 +2313,25 @@ class MetacatSmokeSpec extends Specification { // Test Parent 1 parentChildInfo assert parent1Table.definitionMetadata.get("parentChildRelationInfo").get("isParent").booleanValue() assert parentChildRelV1.getChildren(catalogName, databaseName, parent1) == [ - new ChildInfoDto("embedded-fast-hive-metastore/iceberg_db/child11", "CLONE", "c11_uuid"), - new ChildInfoDto("embedded-fast-hive-metastore/iceberg_db/child12", "CLONE", "c12_uuid") + new ChildInfoDto("hive-metastore/iceberg_db/child11", "CLONE", "c11_uuid"), + new ChildInfoDto("hive-metastore/iceberg_db/child12", "CLONE", "c12_uuid") ] as Set assert parentChildRelV1.getParents(catalogName, databaseName, parent1).isEmpty() // Test Child11 parentChildInfo assert !child11Table.definitionMetadata.get("parentChildRelationInfo").has("isParent") assert child11Table.definitionMetadata.get("random_key").asText() == "random_value" JSONAssert.assertEquals(child11Table.definitionMetadata.get("parentChildRelationInfo").toString(), - '{"parentInfos":[{"name":"embedded-fast-hive-metastore/iceberg_db/parent1","relationType":"CLONE", "uuid":"p1_uuid"}]}', + '{"parentInfos":[{"name":"hive-metastore/iceberg_db/parent1","relationType":"CLONE", "uuid":"p1_uuid"}]}', false) assert parentChildRelV1.getChildren(catalogName, databaseName, child11).isEmpty() - assert parentChildRelV1.getParents(catalogName, databaseName, child11) == [new ParentInfoDto("embedded-fast-hive-metastore/iceberg_db/parent1", "CLONE", "p1_uuid")] as Set + assert parentChildRelV1.getParents(catalogName, databaseName, child11) == [new ParentInfoDto("hive-metastore/iceberg_db/parent1", "CLONE", "p1_uuid")] as Set // Test Child12 parentChildInfo assert !child12Table.definitionMetadata.get("parentChildRelationInfo").has("isParent") JSONAssert.assertEquals(child12Table.definitionMetadata.get("parentChildRelationInfo").toString(), - '{"parentInfos":[{"name":"embedded-fast-hive-metastore/iceberg_db/parent1","relationType":"CLONE","uuid":"p1_uuid"}]}', + '{"parentInfos":[{"name":"hive-metastore/iceberg_db/parent1","relationType":"CLONE","uuid":"p1_uuid"}]}', false) assert parentChildRelV1.getChildren(catalogName, databaseName, child12).isEmpty() - assert parentChildRelV1.getParents(catalogName, databaseName, child12) == [new ParentInfoDto("embedded-fast-hive-metastore/iceberg_db/parent1", "CLONE", "p1_uuid")] as Set + assert parentChildRelV1.getParents(catalogName, databaseName, child12) == [new ParentInfoDto("hive-metastore/iceberg_db/parent1", "CLONE", "p1_uuid")] as Set /* Step 12: Attempt to rename parent1 to parent2 which has parent child relationship and should fail @@ -2352,35 +2353,35 @@ class MetacatSmokeSpec extends Specification { // Test Parent 1 parentChildInfo assert parent1Table.definitionMetadata.get("parentChildRelationInfo").get("isParent").booleanValue() assert parentChildRelV1.getChildren(catalogName, databaseName, parent1) == [ - new ChildInfoDto("embedded-fast-hive-metastore/iceberg_db/child11", "CLONE", "c11_uuid"), - new ChildInfoDto("embedded-fast-hive-metastore/iceberg_db/child12", "CLONE", "c12_uuid") + new ChildInfoDto("hive-metastore/iceberg_db/child11", "CLONE", "c11_uuid"), + new ChildInfoDto("hive-metastore/iceberg_db/child12", "CLONE", "c12_uuid") ] as Set assert parentChildRelV1.getParents(catalogName, databaseName, parent1).isEmpty() // Test Child11 parentChildInfo assert !child11Table.definitionMetadata.get("parentChildRelationInfo").has("isParent") assert child11Table.definitionMetadata.get("random_key").asText() == "random_value" JSONAssert.assertEquals(child11Table.definitionMetadata.get("parentChildRelationInfo").toString(), - '{"parentInfos":[{"name":"embedded-fast-hive-metastore/iceberg_db/parent1","relationType":"CLONE", "uuid":"p1_uuid"}]}', + '{"parentInfos":[{"name":"hive-metastore/iceberg_db/parent1","relationType":"CLONE", "uuid":"p1_uuid"}]}', false) assert parentChildRelV1.getChildren(catalogName, databaseName, child11).isEmpty() - assert parentChildRelV1.getParents(catalogName, databaseName, child11) == [new ParentInfoDto("embedded-fast-hive-metastore/iceberg_db/parent1", "CLONE", "p1_uuid")] as Set + assert parentChildRelV1.getParents(catalogName, databaseName, child11) == [new ParentInfoDto("hive-metastore/iceberg_db/parent1", "CLONE", "p1_uuid")] as Set // Test Child12 parentChildInfo assert !child12Table.definitionMetadata.get("parentChildRelationInfo").has("isParent") JSONAssert.assertEquals(child12Table.definitionMetadata.get("parentChildRelationInfo").toString(), - '{"parentInfos":[{"name":"embedded-fast-hive-metastore/iceberg_db/parent1","relationType":"CLONE","uuid":"p1_uuid"}]}', + '{"parentInfos":[{"name":"hive-metastore/iceberg_db/parent1","relationType":"CLONE","uuid":"p1_uuid"}]}', false) assert parentChildRelV1.getChildren(catalogName, databaseName, child12).isEmpty() // Test Parent 2 parentChildInfo assert parent2Table.definitionMetadata.get("parentChildRelationInfo").get("isParent").booleanValue() assert parentChildRelV1.getChildren(catalogName, databaseName, parent2) == [ - new ChildInfoDto("embedded-fast-hive-metastore/iceberg_db/child21", "CLONE", "c21_uuid") + new ChildInfoDto("hive-metastore/iceberg_db/child21", "CLONE", "c21_uuid") ] as Set // Test Child21 parentChildInfo JSONAssert.assertEquals(child21Table.definitionMetadata.get("parentChildRelationInfo").toString(), - '{"parentInfos":[{"name":"embedded-fast-hive-metastore/iceberg_db/parent2","relationType":"CLONE","uuid":"p2_uuid"}]}', + '{"parentInfos":[{"name":"hive-metastore/iceberg_db/parent2","relationType":"CLONE","uuid":"p2_uuid"}]}', false) assert parentChildRelV1.getChildren(catalogName, databaseName, child21).isEmpty() - assert parentChildRelV1.getParents(catalogName, databaseName, child12) == [new ParentInfoDto("embedded-fast-hive-metastore/iceberg_db/parent1", "CLONE", "p1_uuid")] as Set + assert parentChildRelV1.getParents(catalogName, databaseName, child12) == [new ParentInfoDto("hive-metastore/iceberg_db/parent1", "CLONE", "p1_uuid")] as Set /* @@ -2398,25 +2399,25 @@ class MetacatSmokeSpec extends Specification { assert parent1Table.definitionMetadata.get("parentChildRelationInfo").get("isParent").booleanValue() assert parentChildRelV1.getChildren(catalogName, databaseName, renameParent1) == [ - new ChildInfoDto("embedded-fast-hive-metastore/iceberg_db/child11", "CLONE", "c11_uuid"), - new ChildInfoDto("embedded-fast-hive-metastore/iceberg_db/child12", "CLONE", "c12_uuid") + new ChildInfoDto("hive-metastore/iceberg_db/child11", "CLONE", "c11_uuid"), + new ChildInfoDto("hive-metastore/iceberg_db/child12", "CLONE", "c12_uuid") ] as Set assert parentChildRelV1.getParents(catalogName, databaseName, renameParent1).isEmpty() // Test Child11 parentChildInfo assert !child11Table.definitionMetadata.get("parentChildRelationInfo").has("isParent") JSONAssert.assertEquals(child11Table.definitionMetadata.get("parentChildRelationInfo").toString(), - '{"parentInfos":[{"name":"embedded-fast-hive-metastore/iceberg_db/rename_parent1","relationType":"CLONE","uuid":"p1_uuid"}]}', + '{"parentInfos":[{"name":"hive-metastore/iceberg_db/rename_parent1","relationType":"CLONE","uuid":"p1_uuid"}]}', false) assert parentChildRelV1.getChildren(catalogName, databaseName, child11).isEmpty() - assert parentChildRelV1.getParents(catalogName, databaseName, child11) == [new ParentInfoDto("embedded-fast-hive-metastore/iceberg_db/rename_parent1", "CLONE", "p1_uuid")] as Set + assert parentChildRelV1.getParents(catalogName, databaseName, child11) == [new ParentInfoDto("hive-metastore/iceberg_db/rename_parent1", "CLONE", "p1_uuid")] as Set // Test Child12 parentChildInfo assert !child12Table.definitionMetadata.get("parentChildRelationInfo").has("isParent") JSONAssert.assertEquals(child12Table.definitionMetadata.get("parentChildRelationInfo").toString(), - '{"parentInfos":[{"name":"embedded-fast-hive-metastore/iceberg_db/rename_parent1","relationType":"CLONE","uuid":"p1_uuid"}]}', + '{"parentInfos":[{"name":"hive-metastore/iceberg_db/rename_parent1","relationType":"CLONE","uuid":"p1_uuid"}]}', false) assert parentChildRelV1.getChildren(catalogName, databaseName, child12).isEmpty() - assert parentChildRelV1.getParents(catalogName, databaseName, child12) == [new ParentInfoDto("embedded-fast-hive-metastore/iceberg_db/rename_parent1", "CLONE", "p1_uuid")] as Set + assert parentChildRelV1.getParents(catalogName, databaseName, child12) == [new ParentInfoDto("hive-metastore/iceberg_db/rename_parent1", "CLONE", "p1_uuid")] as Set //get the parent oldName should fail as it no longer exists when: @@ -2447,25 +2448,25 @@ class MetacatSmokeSpec extends Specification { assert parent1Table.definitionMetadata.get("parentChildRelationInfo").get("isParent").booleanValue() assert parentChildRelV1.getChildren(catalogName, databaseName, renameParent1) == [ - new ChildInfoDto("embedded-fast-hive-metastore/iceberg_db/child11", "CLONE", "c11_uuid"), - new ChildInfoDto("embedded-fast-hive-metastore/iceberg_db/child12", "CLONE", "c12_uuid") + new ChildInfoDto("hive-metastore/iceberg_db/child11", "CLONE", "c11_uuid"), + new ChildInfoDto("hive-metastore/iceberg_db/child12", "CLONE", "c12_uuid") ] as Set assert parentChildRelV1.getParents(catalogName, databaseName, renameParent1).isEmpty() // Test Child11 parentChildInfo assert !child11Table.definitionMetadata.get("parentChildRelationInfo").has("isParent") JSONAssert.assertEquals(child11Table.definitionMetadata.get("parentChildRelationInfo").toString(), - '{"parentInfos":[{"name":"embedded-fast-hive-metastore/iceberg_db/rename_parent1","relationType":"CLONE","uuid":"p1_uuid"}]}', + '{"parentInfos":[{"name":"hive-metastore/iceberg_db/rename_parent1","relationType":"CLONE","uuid":"p1_uuid"}]}', false) assert parentChildRelV1.getChildren(catalogName, databaseName, child11).isEmpty() - assert parentChildRelV1.getParents(catalogName, databaseName, child11) == [new ParentInfoDto("embedded-fast-hive-metastore/iceberg_db/rename_parent1", "CLONE", "p1_uuid")] as Set + assert parentChildRelV1.getParents(catalogName, databaseName, child11) == [new ParentInfoDto("hive-metastore/iceberg_db/rename_parent1", "CLONE", "p1_uuid")] as Set // Test Child12 parentChildInfo assert !child12Table.definitionMetadata.get("parentChildRelationInfo").has("isParent") JSONAssert.assertEquals(child12Table.definitionMetadata.get("parentChildRelationInfo").toString(), - '{"parentInfos":[{"name":"embedded-fast-hive-metastore/iceberg_db/rename_parent1","relationType":"CLONE","uuid":"p1_uuid"}]}', + '{"parentInfos":[{"name":"hive-metastore/iceberg_db/rename_parent1","relationType":"CLONE","uuid":"p1_uuid"}]}', false) assert parentChildRelV1.getChildren(catalogName, databaseName, child12).isEmpty() - assert parentChildRelV1.getParents(catalogName, databaseName, child12) == [new ParentInfoDto("embedded-fast-hive-metastore/iceberg_db/rename_parent1", "CLONE", "p1_uuid")] as Set + assert parentChildRelV1.getParents(catalogName, databaseName, child12) == [new ParentInfoDto("hive-metastore/iceberg_db/rename_parent1", "CLONE", "p1_uuid")] as Set /* Step 15: Create a table renameChild11 with parent childInfo and then try to rename child11 to renameChild11, which should fail @@ -2492,32 +2493,32 @@ class MetacatSmokeSpec extends Specification { assert parent1Table.definitionMetadata.get("parentChildRelationInfo").get("isParent").booleanValue() assert parentChildRelV1.getChildren(catalogName, databaseName, renameParent1) == [ - new ChildInfoDto("embedded-fast-hive-metastore/iceberg_db/child11", "CLONE", "c11_uuid"), - new ChildInfoDto("embedded-fast-hive-metastore/iceberg_db/child12", "CLONE", "c12_uuid"), - new ChildInfoDto("embedded-fast-hive-metastore/iceberg_db/rename_child11", "CLONE", "random_uuid") + new ChildInfoDto("hive-metastore/iceberg_db/child11", "CLONE", "c11_uuid"), + new ChildInfoDto("hive-metastore/iceberg_db/child12", "CLONE", "c12_uuid"), + new ChildInfoDto("hive-metastore/iceberg_db/rename_child11", "CLONE", "random_uuid") ] as Set assert parentChildRelV1.getParents(catalogName, databaseName, renameParent1).isEmpty() // Test Child11 parentChildInfo assert !child11Table.definitionMetadata.get("parentChildRelationInfo").has("isParent") JSONAssert.assertEquals(child11Table.definitionMetadata.get("parentChildRelationInfo").toString(), - '{"parentInfos":[{"name":"embedded-fast-hive-metastore/iceberg_db/rename_parent1","relationType":"CLONE","uuid":"p1_uuid"}]}', + '{"parentInfos":[{"name":"hive-metastore/iceberg_db/rename_parent1","relationType":"CLONE","uuid":"p1_uuid"}]}', false) assert parentChildRelV1.getChildren(catalogName, databaseName, child11).isEmpty() - assert parentChildRelV1.getParents(catalogName, databaseName, child11) == [new ParentInfoDto("embedded-fast-hive-metastore/iceberg_db/rename_parent1", "CLONE", "p1_uuid")] as Set + assert parentChildRelV1.getParents(catalogName, databaseName, child11) == [new ParentInfoDto("hive-metastore/iceberg_db/rename_parent1", "CLONE", "p1_uuid")] as Set // Test Child12 parentChildInfo assert !child12Table.definitionMetadata.get("parentChildRelationInfo").has("isParent") JSONAssert.assertEquals(child12Table.definitionMetadata.get("parentChildRelationInfo").toString(), - '{"parentInfos":[{"name":"embedded-fast-hive-metastore/iceberg_db/rename_parent1","relationType":"CLONE","uuid":"p1_uuid"}]}', + '{"parentInfos":[{"name":"hive-metastore/iceberg_db/rename_parent1","relationType":"CLONE","uuid":"p1_uuid"}]}', false) assert parentChildRelV1.getChildren(catalogName, databaseName, child12).isEmpty() - assert parentChildRelV1.getParents(catalogName, databaseName, child12) == [new ParentInfoDto("embedded-fast-hive-metastore/iceberg_db/rename_parent1", "CLONE", "p1_uuid")] as Set + assert parentChildRelV1.getParents(catalogName, databaseName, child12) == [new ParentInfoDto("hive-metastore/iceberg_db/rename_parent1", "CLONE", "p1_uuid")] as Set // Test renameChild11Table parentChildInfo assert !renameChild11Table.definitionMetadata.get("parentChildRelationInfo").has("isParent") JSONAssert.assertEquals(renameChild11Table.definitionMetadata.get("parentChildRelationInfo").toString(), - '{"parentInfos":[{"name":"embedded-fast-hive-metastore/iceberg_db/rename_parent1","relationType":"CLONE","uuid":"p1_uuid"}]}', + '{"parentInfos":[{"name":"hive-metastore/iceberg_db/rename_parent1","relationType":"CLONE","uuid":"p1_uuid"}]}', false) assert parentChildRelV1.getChildren(catalogName, databaseName, renameChild11).isEmpty() - assert parentChildRelV1.getParents(catalogName, databaseName, renameChild11) == [new ParentInfoDto("embedded-fast-hive-metastore/iceberg_db/rename_parent1", "CLONE", "p1_uuid")] as Set + assert parentChildRelV1.getParents(catalogName, databaseName, renameChild11) == [new ParentInfoDto("hive-metastore/iceberg_db/rename_parent1", "CLONE", "p1_uuid")] as Set /* @@ -2533,18 +2534,18 @@ class MetacatSmokeSpec extends Specification { // Test parent1Table parentChildInfo with newName assert parent1Table.definitionMetadata.get("parentChildRelationInfo").get("isParent").booleanValue() assert parentChildRelV1.getChildren(catalogName, databaseName, renameParent1) == [ - new ChildInfoDto("embedded-fast-hive-metastore/iceberg_db/rename_child11", "CLONE", "c11_uuid"), - new ChildInfoDto("embedded-fast-hive-metastore/iceberg_db/child12", "CLONE", "c12_uuid") + new ChildInfoDto("hive-metastore/iceberg_db/rename_child11", "CLONE", "c11_uuid"), + new ChildInfoDto("hive-metastore/iceberg_db/child12", "CLONE", "c12_uuid") ] as Set assert parentChildRelV1.getParents(catalogName, databaseName, renameParent1).isEmpty() // Test Child11 parentChildInfo with newName assert !child11Table.definitionMetadata.get("parentChildRelationInfo").has("isParent") assert child11Table.definitionMetadata.get("random_key").asText() == "random_value" JSONAssert.assertEquals(child11Table.definitionMetadata.get("parentChildRelationInfo").toString(), - '{"parentInfos":[{"name":"embedded-fast-hive-metastore/iceberg_db/rename_parent1","relationType":"CLONE","uuid":"p1_uuid"}]}', + '{"parentInfos":[{"name":"hive-metastore/iceberg_db/rename_parent1","relationType":"CLONE","uuid":"p1_uuid"}]}', false) assert parentChildRelV1.getChildren(catalogName, databaseName, renameChild11).isEmpty() - assert parentChildRelV1.getParents(catalogName, databaseName, renameChild11) == [new ParentInfoDto("embedded-fast-hive-metastore/iceberg_db/rename_parent1", "CLONE", "p1_uuid")] as Set + assert parentChildRelV1.getParents(catalogName, databaseName, renameChild11) == [new ParentInfoDto("hive-metastore/iceberg_db/rename_parent1", "CLONE", "p1_uuid")] as Set //get the child oldName should fail as it no longer exists when: @@ -2574,7 +2575,7 @@ class MetacatSmokeSpec extends Specification { // Test parent1 Table assert parent1Table.definitionMetadata.get("parentChildRelationInfo").get("isParent").booleanValue() assert parentChildRelV1.getChildren(catalogName, databaseName, renameParent1) == [ - new ChildInfoDto("embedded-fast-hive-metastore/iceberg_db/child12", "CLONE", "c12_uuid") + new ChildInfoDto("hive-metastore/iceberg_db/child12", "CLONE", "c12_uuid") ] as Set assert parentChildRelV1.getParents(catalogName, databaseName, renameParent1).isEmpty() @@ -2596,7 +2597,7 @@ class MetacatSmokeSpec extends Specification { // Test parent1 Table still only have child12 assert parent1Table.definitionMetadata.get("parentChildRelationInfo").get("isParent").booleanValue() assert parentChildRelV1.getChildren(catalogName, databaseName, renameParent1) == [ - new ChildInfoDto("embedded-fast-hive-metastore/iceberg_db/child12", "CLONE", "c12_uuid") + new ChildInfoDto("hive-metastore/iceberg_db/child12", "CLONE", "c12_uuid") ] as Set assert parentChildRelV1.getParents(catalogName, databaseName, renameParent1).isEmpty() @@ -2628,17 +2629,17 @@ class MetacatSmokeSpec extends Specification { // Test Parent 2 parentChildInfo assert parent2Table.definitionMetadata.get("parentChildRelationInfo").get("isParent").booleanValue() assert parentChildRelV1.getChildren(catalogName, databaseName, parent2) == [ - new ChildInfoDto("embedded-fast-hive-metastore/iceberg_db/child21", "CLONE", "c21_uuid") + new ChildInfoDto("hive-metastore/iceberg_db/child21", "CLONE", "c21_uuid") ] as Set assert parentChildRelV1.getParents(catalogName, databaseName, parent2).isEmpty() // Test Child21 parentChildInfo assert !child21Table.definitionMetadata.get("parentChildRelationInfo").has("isParent") JSONAssert.assertEquals(child21Table.definitionMetadata.get("parentChildRelationInfo").toString(), - '{"parentInfos":[{"name":"embedded-fast-hive-metastore/iceberg_db/parent2","relationType":"CLONE","uuid":"p2_uuid"}]}', + '{"parentInfos":[{"name":"hive-metastore/iceberg_db/parent2","relationType":"CLONE","uuid":"p2_uuid"}]}', false) assert parentChildRelV1.getChildren(catalogName, databaseName, child21).isEmpty() - assert parentChildRelV1.getParents(catalogName, databaseName, child21) == [new ParentInfoDto("embedded-fast-hive-metastore/iceberg_db/parent2", "CLONE", "p2_uuid")] as Set + assert parentChildRelV1.getParents(catalogName, databaseName, child21) == [new ParentInfoDto("hive-metastore/iceberg_db/parent2", "CLONE", "p2_uuid")] as Set /* Step 22: update parent2 with random parentChildRelationInfo to test immutability @@ -2653,16 +2654,16 @@ class MetacatSmokeSpec extends Specification { then: assert parent2Table.definitionMetadata.get("parentChildRelationInfo").get("isParent").booleanValue() assert parentChildRelV1.getChildren(catalogName, databaseName, parent2) == [ - new ChildInfoDto("embedded-fast-hive-metastore/iceberg_db/child21", "CLONE", "c21_uuid") + new ChildInfoDto("hive-metastore/iceberg_db/child21", "CLONE", "c21_uuid") ] as Set assert parentChildRelV1.getParents(catalogName, databaseName, parent2).isEmpty() // Test Child21 parentChildInfo assert !child21Table.definitionMetadata.get("parentChildRelationInfo").has("isParent") JSONAssert.assertEquals(child21Table.definitionMetadata.get("parentChildRelationInfo").toString(), - '{"parentInfos":[{"name":"embedded-fast-hive-metastore/iceberg_db/parent2","relationType":"CLONE","uuid":"p2_uuid"}]}', + '{"parentInfos":[{"name":"hive-metastore/iceberg_db/parent2","relationType":"CLONE","uuid":"p2_uuid"}]}', false) assert parentChildRelV1.getChildren(catalogName, databaseName, child21).isEmpty() - assert parentChildRelV1.getParents(catalogName, databaseName, child21) == [new ParentInfoDto("embedded-fast-hive-metastore/iceberg_db/parent2", "CLONE", "p2_uuid")] as Set + assert parentChildRelV1.getParents(catalogName, databaseName, child21) == [new ParentInfoDto("hive-metastore/iceberg_db/parent2", "CLONE", "p2_uuid")] as Set /* Step 23: update child21 with random parentChildRelationInfo to test immutability @@ -2678,16 +2679,16 @@ class MetacatSmokeSpec extends Specification { // Test Parent 2 parentChildInfo assert parent2Table.definitionMetadata.get("parentChildRelationInfo").get("isParent").booleanValue() assert parentChildRelV1.getChildren(catalogName, databaseName, parent2) == [ - new ChildInfoDto("embedded-fast-hive-metastore/iceberg_db/child21", "CLONE", "c21_uuid") + new ChildInfoDto("hive-metastore/iceberg_db/child21", "CLONE", "c21_uuid") ] as Set assert parentChildRelV1.getParents(catalogName, databaseName, parent2).isEmpty() // Test Child21 parentChildInfo assert !child21Table.definitionMetadata.get("parentChildRelationInfo").has("isParent") JSONAssert.assertEquals(child21Table.definitionMetadata.get("parentChildRelationInfo").toString(), - '{"parentInfos":[{"name":"embedded-fast-hive-metastore/iceberg_db/parent2","relationType":"CLONE","uuid":"p2_uuid"}]}', + '{"parentInfos":[{"name":"hive-metastore/iceberg_db/parent2","relationType":"CLONE","uuid":"p2_uuid"}]}', false) assert parentChildRelV1.getChildren(catalogName, databaseName, child21).isEmpty() - assert parentChildRelV1.getParents(catalogName, databaseName, child21) == [new ParentInfoDto("embedded-fast-hive-metastore/iceberg_db/parent2", "CLONE", "p2_uuid")] as Set + assert parentChildRelV1.getParents(catalogName, databaseName, child21) == [new ParentInfoDto("hive-metastore/iceberg_db/parent2", "CLONE", "p2_uuid")] as Set } } diff --git a/metacat-functional-tests/src/functionalTest/groovy/com/netflix/metacat/MetacatSmokeThriftSpec.groovy b/metacat-functional-tests/src/functionalTest/groovy/com/netflix/metacat/MetacatSmokeThriftSpec.groovy index 47dd6a76..d8775bc6 100644 --- a/metacat-functional-tests/src/functionalTest/groovy/com/netflix/metacat/MetacatSmokeThriftSpec.groovy +++ b/metacat-functional-tests/src/functionalTest/groovy/com/netflix/metacat/MetacatSmokeThriftSpec.groovy @@ -145,8 +145,8 @@ class MetacatSmokeThriftSpec extends Specification { where: catalogName | client 'remote' | remoteHiveClient - 'local' | localHiveClient - 'localfast' | localFastHiveClient +// 'local' | localHiveClient +// 'localfast' | localFastHiveClient } @Unroll @@ -166,8 +166,8 @@ class MetacatSmokeThriftSpec extends Specification { where: catalogName | client 'remote' | remoteHiveClient - 'local' | localHiveClient - 'localfast' | localFastHiveClient +// 'local' | localHiveClient +// 'localfast' | localFastHiveClient } @Unroll @@ -202,9 +202,9 @@ class MetacatSmokeThriftSpec extends Specification { client.dropDatabase(databaseName) where: catalogName | client - 'local' | localHiveClient - 'localfast' | localFastHiveClient - // 'remote' | remoteHiveClient +// 'local' | localHiveClient +// 'localfast' | localFastHiveClient + 'remote' | remoteHiveClient } @Unroll @@ -224,8 +224,8 @@ class MetacatSmokeThriftSpec extends Specification { where: catalogName | client 'remote' | remoteHiveClient - 'local' | localHiveClient - 'localfast' | localFastHiveClient +// 'local' | localHiveClient +// 'localfast' | localFastHiveClient } @Unroll @@ -256,8 +256,8 @@ class MetacatSmokeThriftSpec extends Specification { where: catalogName | client 'remote' | remoteHiveClient - 'local' | localHiveClient - 'localfast' | localFastHiveClient +// 'local' | localHiveClient +// 'localfast' | localFastHiveClient } @Unroll @@ -287,8 +287,8 @@ class MetacatSmokeThriftSpec extends Specification { where: catalogName | client 'remote' | remoteHiveClient - 'local' | localHiveClient - 'localfast' | localFastHiveClient +// 'local' | localHiveClient +// 'localfast' | localFastHiveClient } @Unroll @@ -322,8 +322,8 @@ class MetacatSmokeThriftSpec extends Specification { where: catalogName | client 'remote' | remoteHiveClient - 'local' | localHiveClient - 'localfast' | localFastHiveClient +// 'local' | localHiveClient +// 'localfast' | localFastHiveClient } @Unroll @@ -480,148 +480,54 @@ class MetacatSmokeThriftSpec extends Specification { } } - @Unroll - def "Test: Embedded Thrift connector: get partitions for filter #filter returned #result partitions"() { - when: - def catalogName = 'local' - def client = localHiveClient - def databaseName = 'test_db5_' + catalogName - def tableName = 'parts' - def hiveTable = createTable(client, catalogName, databaseName, tableName) - if (cursor == 'start') { - def uri = isLocalEnv ? 'file:/tmp/abc' : null; - def dto = converter.toTableDto(hiveConverter.toTableInfo(QualifiedName.ofTable(catalogName, databaseName, tableName), hiveTable.getTTable())) - def partitionDtos = DataDtoProvider.getPartitions(catalogName, databaseName, tableName, 'one=xyz/total=1', uri, 10) - def partitions = partitionDtos.collect { - new Partition(hiveTable, hiveConverter.fromPartitionInfo(converter.fromTableDto(dto), converter.fromPartitionDto(it))) - } - client.alterPartitions(databaseName + '.' + tableName, partitions) - } - then: - try { - client.getPartitionsByFilter(hiveTable, filter).size() == result - } catch (Exception e) { - result == -1 - e.message.contains('400 Bad Request') - } - cleanup: - if (cursor == 'end') { - def partitionNames = client.getPartitionNames(databaseName, tableName, (short) -1) - partitionNames.each { - client.dropPartition(databaseName, tableName, Lists.newArrayList(PartitionUtil.getPartitionKeyValues(it).values()), false) - } - } - where: - cursor | filter | result - 'start' | "one='xyz'" | 10 - '' | 'one="xyz"' | 10 - '' | "one='xyz' and one like 'xy_'" | 10 - '' | "(one='xyz') and one like 'xy%'" | 10 - '' | "one like 'xy%'" | 10 - '' | "total=10" | 1 - '' | "total='10'" | 1 - '' | "total<1" | 0 - '' | "total>1" | 10 - '' | "total>=10" | 10 - '' | "total<=20" | 10 - '' | "total between 1 and 20" | 10 - '' | "total not between 1 and 20" | 0 - '' | 'one=xyz' | -1 - '' | 'invalid=xyz' | -1 - 'end' | "one='xyz' and (total=11 or total=12)" | 2 - } - - @Unroll - def "Test: Embedded Fast Thrift connector: get partitions for filter #filter returned #result partitions"() { - when: - def catalogName = 'localfast' - def client = localFastHiveClient - def databaseName = 'test_db5_' + catalogName - def tableName = 'parts' - def hiveTable = createTable(client, catalogName, databaseName, tableName) - if (cursor == 'start') { - def uri = isLocalEnv ? 'file:/tmp/abc' : null; - def dto = converter.toTableDto(hiveConverter.toTableInfo(QualifiedName.ofTable(catalogName, databaseName, tableName), hiveTable.getTTable())) - def partitionDtos = DataDtoProvider.getPartitions(catalogName, databaseName, tableName, 'one=xyz/total=1', uri, 10) - def partitions = partitionDtos.collect { - new Partition(hiveTable, hiveConverter.fromPartitionInfo(converter.fromTableDto(dto), converter.fromPartitionDto(it))) - } - client.alterPartitions(databaseName + '.' + tableName, partitions) - } - then: - try { - client.getPartitionsByFilter(hiveTable, filter).size() == result - } catch (Exception e) { - result == -1 - e.message.contains('400 Bad Request') - } - cleanup: - if (cursor == 'end') { - def partitionNames = client.getPartitionNames(databaseName, tableName, (short) -1) - partitionNames.each { - client.dropPartition(databaseName, tableName, Lists.newArrayList(PartitionUtil.getPartitionKeyValues(it).values()), false) - } - } - where: - cursor | filter | result - 'start' | "one='xyz'" | 10 - '' | 'one="xyz"' | 10 - '' | "one='xyz' and one like 'xy_'" | 10 - '' | "(one='xyz') and one like 'xy%'" | 10 - '' | "one like 'xy%'" | 10 - '' | "total=10" | 1 - '' | "total='10'" | 1 - '' | "total<1" | 0 - '' | "total>1" | 10 - '' | "total>=10" | 10 - '' | "total<=20" | 10 - '' | "total between 1 and 20" | 10 - '' | "total not between 1 and 20" | 0 - '' | 'one=xyz' | -1 - '' | 'invalid=xyz' | -1 - 'end' | "one='xyz' and (total=11 or total=12)" | 2 - } - - @Unroll - def "Test: Embedded Fast Thrift connector: getPartitionsByNames with escape values"() { - given: - def catalogName = 'localfast' - def client = localFastHiveClient - def databaseName = 'test_db5_' + catalogName - def tableName = 'parts' - def hiveTable = createTable(client, catalogName, databaseName, tableName) - def uri = isLocalEnv ? 'file:/tmp/abc' : null; - def dto = converter.toTableDto(hiveConverter.toTableInfo(QualifiedName.ofTable(catalogName, databaseName, tableName), hiveTable.getTTable())) - def partitionDtos = DataDtoProvider.getPartitions(catalogName, databaseName, tableName, 'one=xy^:z/total=1', uri, 10) - def partitions = partitionDtos.collect { - new Partition(hiveTable, hiveConverter.fromPartitionInfo(converter.fromTableDto(dto), converter.fromPartitionDto(it))) - } - client.alterPartitions(databaseName + '.' + tableName, partitions) - when: - def result = client.getPartitionsByNames(hiveTable, ['one=xy%5E%3Az/total=10']) - then: - result.size() == 1 - result.get(0).getValues() == ['xy^:z', '10'] - when: - result = client.getPartitionsByNames(hiveTable, ['one=xy^:z/total=10']) - then: - result.size() == 0 - when: - result = client.getPartitionsByNames(hiveTable, ['total':'10']) - then: - result.size() == 1 - result.get(0).getValues() == ['xy^:z', '10'] - when: - result = client.getPartitionsByNames(hiveTable, ['one':'xy^:z']) - then: - result.size() == 10 - when: - result = client.getPartitionsByNames(hiveTable, ['one':'xy%5E%3Az']) - then: - result.size() == 0 - cleanup: - client.getPartitions(hiveTable).each { - client.dropPartition(databaseName, tableName, it.getValues(), false) - } - } +// @Unroll +// def "Test: Embedded Thrift connector: get partitions for filter #filter returned #result partitions"() { +// when: +// def catalogName = 'local' +// def client = localHiveClient +// def databaseName = 'test_db5_' + catalogName +// def tableName = 'parts' +// def hiveTable = createTable(client, catalogName, databaseName, tableName) +// if (cursor == 'start') { +// def uri = isLocalEnv ? 'file:/tmp/abc' : null; +// def dto = converter.toTableDto(hiveConverter.toTableInfo(QualifiedName.ofTable(catalogName, databaseName, tableName), hiveTable.getTTable())) +// def partitionDtos = DataDtoProvider.getPartitions(catalogName, databaseName, tableName, 'one=xyz/total=1', uri, 10) +// def partitions = partitionDtos.collect { +// new Partition(hiveTable, hiveConverter.fromPartitionInfo(converter.fromTableDto(dto), converter.fromPartitionDto(it))) +// } +// client.alterPartitions(databaseName + '.' + tableName, partitions) +// } +// then: +// try { +// client.getPartitionsByFilter(hiveTable, filter).size() == result +// } catch (Exception e) { +// result == -1 +// e.message.contains('400 Bad Request') +// } +// cleanup: +// if (cursor == 'end') { +// def partitionNames = client.getPartitionNames(databaseName, tableName, (short) -1) +// partitionNames.each { +// client.dropPartition(databaseName, tableName, Lists.newArrayList(PartitionUtil.getPartitionKeyValues(it).values()), false) +// } +// } +// where: +// cursor | filter | result +// 'start' | "one='xyz'" | 10 +// '' | 'one="xyz"' | 10 +// '' | "one='xyz' and one like 'xy_'" | 10 +// '' | "(one='xyz') and one like 'xy%'" | 10 +// '' | "one like 'xy%'" | 10 +// '' | "total=10" | 1 +// '' | "total='10'" | 1 +// '' | "total<1" | 0 +// '' | "total>1" | 10 +// '' | "total>=10" | 10 +// '' | "total<=20" | 10 +// '' | "total between 1 and 20" | 10 +// '' | "total not between 1 and 20" | 0 +// '' | 'one=xyz' | -1 +// '' | 'invalid=xyz' | -1 +// 'end' | "one='xyz' and (total=11 or total=12)" | 2 +// } } diff --git a/metacat-functional-tests/src/functionalTest/groovy/com/netflix/metacat/TestCatalogs.groovy b/metacat-functional-tests/src/functionalTest/groovy/com/netflix/metacat/TestCatalogs.groovy index 275db228..256e164a 100644 --- a/metacat-functional-tests/src/functionalTest/groovy/com/netflix/metacat/TestCatalogs.groovy +++ b/metacat-functional-tests/src/functionalTest/groovy/com/netflix/metacat/TestCatalogs.groovy @@ -45,33 +45,6 @@ class TestCatalogs { } static final Set ALL = [ - new TestCatalog( - createDatabase: true, - createPartition: true, - createTable: true, - deleteDatabase: true, - deleteTable: true, - name: 'embedded-hive-metastore', - partitionKeysAppearLast: true, - type: 'hive', - createView: true, - validateFilterExpressionBasedOnPartitionKeyType: false, - supportAUDITtables: true - ), - new TestCatalog( - createDatabase: true, - createPartition: true, - createTable: true, - deleteDatabase: true, - deleteTable: true, - name: 'embedded-fast-hive-metastore', - partitionKeysAppearLast: true, - type: 'hive', - createView: true, - validateWithHive: false, - validateFilterExpressionBasedOnPartitionKeyType: false, - supportAUDITtables: true - ), new TestCatalog( createDatabase: true, createPartition: true,