From 9a7e9e304691e6d99e3f2d6eab76447055497d88 Mon Sep 17 00:00:00 2001 From: Konrad Dziedzic Date: Sat, 28 May 2022 00:15:31 +0200 Subject: [PATCH 1/2] Rename MetastoreConfig to HiveMetastoreConfig --- .../io/trino/plugin/deltalake/DeltaLakeModule.java | 4 ++-- .../TestDeltaLakeMetastoreAccessOperations.java | 4 ++-- .../metastore/TestDeltaLakeMetastoreStatistics.java | 4 ++-- .../trino/plugin/hive/TestHiveAlluxioMetastore.java | 4 ++-- .../io/trino/plugin/hive/HiveMetadataFactory.java | 6 +++--- .../main/java/io/trino/plugin/hive/HiveModule.java | 4 ++-- ...MetastoreConfig.java => HiveMetastoreConfig.java} | 4 ++-- .../hive/metastore/alluxio/AlluxioHiveMetastore.java | 8 ++++---- .../alluxio/AlluxioHiveMetastoreFactory.java | 6 +++--- .../hive/metastore/file/FileHiveMetastore.java | 8 ++++---- .../metastore/file/FileHiveMetastoreFactory.java | 6 +++--- .../DefaultGlueMetastoreTableFilterProvider.java | 8 ++++---- .../hive/metastore/thrift/ThriftHiveMetastore.java | 12 ++++++------ .../java/io/trino/plugin/hive/AbstractTestHive.java | 4 ++-- .../plugin/hive/AbstractTestHiveFileSystem.java | 8 ++++---- .../io/trino/plugin/hive/BaseTestHiveOnDataLake.java | 4 ++-- .../java/io/trino/plugin/hive/HiveQueryRunner.java | 4 ++-- .../io/trino/plugin/hive/TestHiveFileMetastore.java | 4 ++-- ...storeConfig.java => TestHiveMetastoreConfig.java} | 6 +++--- .../metastore/cache/TestCachingHiveMetastore.java | 4 ++-- .../hive/metastore/glue/TestHiveGlueMetastore.java | 4 ++-- .../TestConnectorPushdownRulesWithHive.java | 4 ++-- .../trino/plugin/hive/optimizer/TestHivePlans.java | 4 ++-- .../TestHiveProjectionPushdownIntoTableScan.java | 4 ++-- .../io/trino/plugin/hive/s3/S3HiveQueryRunner.java | 4 ++-- .../java/io/trino/plugin/iceberg/IcebergModule.java | 4 ++-- .../trino/plugin/iceberg/TestIcebergMergeAppend.java | 4 ++-- .../plugin/iceberg/TestIcebergMetadataListing.java | 4 ++-- .../TestIcebergMetastoreAccessOperations.java | 4 ++-- .../iceberg/TestIcebergOrcMetricsCollection.java | 4 ++-- .../iceberg/TestIcebergTableWithCustomLocation.java | 4 ++-- .../TestIcebergTableWithExternalLocation.java | 4 ++-- .../plugin/iceberg/TestSharedHiveMetastore.java | 4 ++-- .../TestConnectorPushdownRulesWithIceberg.java | 4 ++-- 34 files changed, 84 insertions(+), 84 deletions(-) rename plugin/trino-hive/src/main/java/io/trino/plugin/hive/metastore/{MetastoreConfig.java => HiveMetastoreConfig.java} (89%) rename plugin/trino-hive/src/test/java/io/trino/plugin/hive/metastore/{TestMetastoreConfig.java => TestHiveMetastoreConfig.java} (88%) diff --git a/plugin/trino-delta-lake/src/main/java/io/trino/plugin/deltalake/DeltaLakeModule.java b/plugin/trino-delta-lake/src/main/java/io/trino/plugin/deltalake/DeltaLakeModule.java index 15e50d8c3173..d8381560f85b 100644 --- a/plugin/trino-delta-lake/src/main/java/io/trino/plugin/deltalake/DeltaLakeModule.java +++ b/plugin/trino-delta-lake/src/main/java/io/trino/plugin/deltalake/DeltaLakeModule.java @@ -54,7 +54,7 @@ import io.trino.plugin.hive.TransactionalMetadataFactory; import io.trino.plugin.hive.fs.DirectoryLister; import io.trino.plugin.hive.metastore.HiveMetastore; -import io.trino.plugin.hive.metastore.MetastoreConfig; +import io.trino.plugin.hive.metastore.HiveMetastoreConfig; import io.trino.plugin.hive.metastore.SemiTransactionalHiveMetastore; import io.trino.plugin.hive.metastore.thrift.TranslateHiveViews; import io.trino.plugin.hive.parquet.ParquetReaderConfig; @@ -93,7 +93,7 @@ public void setup(Binder binder) configBinder(binder).bindConfig(DeltaLakeConfig.class); configBinder(binder).bindConfig(HiveConfig.class); - binder.bind(MetastoreConfig.class).toInstance(new MetastoreConfig()); // currently not configurable + binder.bind(HiveMetastoreConfig.class).toInstance(new HiveMetastoreConfig()); // currently not configurable binder.bind(Key.get(boolean.class, TranslateHiveViews.class)).toInstance(false); configBinder(binder).bindConfig(ParquetReaderConfig.class); configBinder(binder).bindConfig(ParquetWriterConfig.class); diff --git a/plugin/trino-delta-lake/src/test/java/io/trino/plugin/deltalake/metastore/TestDeltaLakeMetastoreAccessOperations.java b/plugin/trino-delta-lake/src/test/java/io/trino/plugin/deltalake/metastore/TestDeltaLakeMetastoreAccessOperations.java index 81af2a754bbd..1f9884dc4b58 100644 --- a/plugin/trino-delta-lake/src/test/java/io/trino/plugin/deltalake/metastore/TestDeltaLakeMetastoreAccessOperations.java +++ b/plugin/trino-delta-lake/src/test/java/io/trino/plugin/deltalake/metastore/TestDeltaLakeMetastoreAccessOperations.java @@ -31,8 +31,8 @@ import io.trino.plugin.hive.authentication.NoHdfsAuthentication; import io.trino.plugin.hive.metastore.CountingAccessHiveMetastore; import io.trino.plugin.hive.metastore.HiveMetastore; +import io.trino.plugin.hive.metastore.HiveMetastoreConfig; import io.trino.plugin.hive.metastore.HiveMetastoreFactory; -import io.trino.plugin.hive.metastore.MetastoreConfig; import io.trino.plugin.hive.metastore.RawHiveMetastoreFactory; import io.trino.plugin.hive.metastore.file.FileHiveMetastore; import io.trino.plugin.hive.metastore.file.FileHiveMetastoreConfig; @@ -79,7 +79,7 @@ protected DistributedQueryRunner createQueryRunner() HiveMetastore hiveMetastore = new FileHiveMetastore( new NodeVersion("testversion"), hdfsEnvironment, - new MetastoreConfig(), + new HiveMetastoreConfig(), new FileHiveMetastoreConfig() .setCatalogDirectory(baseDir.toURI().toString()) .setMetastoreUser("test")); diff --git a/plugin/trino-delta-lake/src/test/java/io/trino/plugin/deltalake/metastore/TestDeltaLakeMetastoreStatistics.java b/plugin/trino-delta-lake/src/test/java/io/trino/plugin/deltalake/metastore/TestDeltaLakeMetastoreStatistics.java index 858f53fa4d11..5858bc18cda9 100644 --- a/plugin/trino-delta-lake/src/test/java/io/trino/plugin/deltalake/metastore/TestDeltaLakeMetastoreStatistics.java +++ b/plugin/trino-delta-lake/src/test/java/io/trino/plugin/deltalake/metastore/TestDeltaLakeMetastoreStatistics.java @@ -41,7 +41,7 @@ import io.trino.plugin.hive.metastore.Column; import io.trino.plugin.hive.metastore.Database; import io.trino.plugin.hive.metastore.HiveMetastore; -import io.trino.plugin.hive.metastore.MetastoreConfig; +import io.trino.plugin.hive.metastore.HiveMetastoreConfig; import io.trino.plugin.hive.metastore.PrincipalPrivileges; import io.trino.plugin.hive.metastore.Storage; import io.trino.plugin.hive.metastore.StorageFormat; @@ -123,7 +123,7 @@ public void setupMetastore() hiveMetastore = new FileHiveMetastore( new NodeVersion("test_version"), hdfsEnvironment, - new MetastoreConfig(), + new HiveMetastoreConfig(), new FileHiveMetastoreConfig() .setCatalogDirectory(metastoreDir.toURI().toString()) .setMetastoreUser("test")); diff --git a/plugin/trino-hive-hadoop2/src/test/java/io/trino/plugin/hive/TestHiveAlluxioMetastore.java b/plugin/trino-hive-hadoop2/src/test/java/io/trino/plugin/hive/TestHiveAlluxioMetastore.java index f796a47a4b26..891a64dfa07d 100644 --- a/plugin/trino-hive-hadoop2/src/test/java/io/trino/plugin/hive/TestHiveAlluxioMetastore.java +++ b/plugin/trino-hive-hadoop2/src/test/java/io/trino/plugin/hive/TestHiveAlluxioMetastore.java @@ -16,7 +16,7 @@ import alluxio.client.table.TableMasterClient; import alluxio.conf.PropertyKey; import io.trino.plugin.hive.authentication.NoHdfsAuthentication; -import io.trino.plugin.hive.metastore.MetastoreConfig; +import io.trino.plugin.hive.metastore.HiveMetastoreConfig; import io.trino.plugin.hive.metastore.alluxio.AlluxioHiveMetastore; import io.trino.plugin.hive.metastore.alluxio.AlluxioHiveMetastoreConfig; import io.trino.plugin.hive.metastore.alluxio.AlluxioMetastoreModule; @@ -61,7 +61,7 @@ public void setup(String host, String port, int hiveVersionMajor, String timeZon alluxioConfig.setMasterAddress(this.alluxioAddress); TableMasterClient client = AlluxioMetastoreModule.createCatalogMasterClient(alluxioConfig); hdfsEnvironment = new HdfsEnvironment(createTestHdfsConfiguration(), new HdfsConfig(), new NoHdfsAuthentication()); - setup(SCHEMA, hiveConfig, new AlluxioHiveMetastore(client, new MetastoreConfig()), hdfsEnvironment); + setup(SCHEMA, hiveConfig, new AlluxioHiveMetastore(client, new HiveMetastoreConfig()), hdfsEnvironment); } private int getHiveVersionMajor() diff --git a/plugin/trino-hive/src/main/java/io/trino/plugin/hive/HiveMetadataFactory.java b/plugin/trino-hive/src/main/java/io/trino/plugin/hive/HiveMetadataFactory.java index 59d74daa8d05..5925969922df 100644 --- a/plugin/trino-hive/src/main/java/io/trino/plugin/hive/HiveMetadataFactory.java +++ b/plugin/trino-hive/src/main/java/io/trino/plugin/hive/HiveMetadataFactory.java @@ -19,8 +19,8 @@ import io.trino.plugin.base.CatalogName; import io.trino.plugin.hive.fs.DirectoryLister; import io.trino.plugin.hive.fs.TransactionScopeCachingDirectoryLister; +import io.trino.plugin.hive.metastore.HiveMetastoreConfig; import io.trino.plugin.hive.metastore.HiveMetastoreFactory; -import io.trino.plugin.hive.metastore.MetastoreConfig; import io.trino.plugin.hive.metastore.SemiTransactionalHiveMetastore; import io.trino.plugin.hive.security.AccessControlMetadataFactory; import io.trino.plugin.hive.statistics.MetastoreHiveStatisticsProvider; @@ -77,7 +77,7 @@ public class HiveMetadataFactory public HiveMetadataFactory( CatalogName catalogName, HiveConfig hiveConfig, - MetastoreConfig metastoreConfig, + HiveMetastoreConfig hiveMetastoreConfig, HiveMetastoreFactory metastoreFactory, HdfsEnvironment hdfsEnvironment, HivePartitionManager partitionManager, @@ -111,7 +111,7 @@ public HiveMetadataFactory( hiveConfig.isHiveViewsRunAsInvoker(), hiveConfig.getPerTransactionMetastoreCacheMaximumSize(), hiveConfig.getHiveTransactionHeartbeatInterval(), - metastoreConfig.isHideDeltaLakeTables(), + hiveMetastoreConfig.isHideDeltaLakeTables(), typeManager, metadataProvider, locationService, diff --git a/plugin/trino-hive/src/main/java/io/trino/plugin/hive/HiveModule.java b/plugin/trino-hive/src/main/java/io/trino/plugin/hive/HiveModule.java index 98a8aa0ea346..697d295594c3 100644 --- a/plugin/trino-hive/src/main/java/io/trino/plugin/hive/HiveModule.java +++ b/plugin/trino-hive/src/main/java/io/trino/plugin/hive/HiveModule.java @@ -22,7 +22,7 @@ import io.airlift.event.client.EventClient; import io.trino.plugin.base.CatalogName; import io.trino.plugin.hive.fs.CachingDirectoryLister; -import io.trino.plugin.hive.metastore.MetastoreConfig; +import io.trino.plugin.hive.metastore.HiveMetastoreConfig; import io.trino.plugin.hive.metastore.thrift.TranslateHiveViews; import io.trino.plugin.hive.orc.OrcFileWriterFactory; import io.trino.plugin.hive.orc.OrcPageSourceFactory; @@ -61,7 +61,7 @@ public class HiveModule public void configure(Binder binder) { configBinder(binder).bindConfig(HiveConfig.class); - configBinder(binder).bindConfig(MetastoreConfig.class); + configBinder(binder).bindConfig(HiveMetastoreConfig.class); binder.bind(HiveSessionProperties.class).in(Scopes.SINGLETON); binder.bind(HiveTableProperties.class).in(Scopes.SINGLETON); diff --git a/plugin/trino-hive/src/main/java/io/trino/plugin/hive/metastore/MetastoreConfig.java b/plugin/trino-hive/src/main/java/io/trino/plugin/hive/metastore/HiveMetastoreConfig.java similarity index 89% rename from plugin/trino-hive/src/main/java/io/trino/plugin/hive/metastore/MetastoreConfig.java rename to plugin/trino-hive/src/main/java/io/trino/plugin/hive/metastore/HiveMetastoreConfig.java index a3e3da8ef06a..47af49732558 100644 --- a/plugin/trino-hive/src/main/java/io/trino/plugin/hive/metastore/MetastoreConfig.java +++ b/plugin/trino-hive/src/main/java/io/trino/plugin/hive/metastore/HiveMetastoreConfig.java @@ -16,7 +16,7 @@ import io.airlift.configuration.Config; import io.airlift.configuration.ConfigDescription; -public class MetastoreConfig +public class HiveMetastoreConfig { private boolean hideDeltaLakeTables; @@ -27,7 +27,7 @@ public boolean isHideDeltaLakeTables() @Config("hive.hide-delta-lake-tables") @ConfigDescription("Hide Delta Lake tables in table listings") - public MetastoreConfig setHideDeltaLakeTables(boolean hideDeltaLakeTables) + public HiveMetastoreConfig setHideDeltaLakeTables(boolean hideDeltaLakeTables) { this.hideDeltaLakeTables = hideDeltaLakeTables; return this; diff --git a/plugin/trino-hive/src/main/java/io/trino/plugin/hive/metastore/alluxio/AlluxioHiveMetastore.java b/plugin/trino-hive/src/main/java/io/trino/plugin/hive/metastore/alluxio/AlluxioHiveMetastore.java index 625f6aa3b61b..8f7d8aba22d0 100644 --- a/plugin/trino-hive/src/main/java/io/trino/plugin/hive/metastore/alluxio/AlluxioHiveMetastore.java +++ b/plugin/trino-hive/src/main/java/io/trino/plugin/hive/metastore/alluxio/AlluxioHiveMetastore.java @@ -29,10 +29,10 @@ import io.trino.plugin.hive.metastore.Database; import io.trino.plugin.hive.metastore.HiveColumnStatistics; import io.trino.plugin.hive.metastore.HiveMetastore; +import io.trino.plugin.hive.metastore.HiveMetastoreConfig; import io.trino.plugin.hive.metastore.HivePrincipal; import io.trino.plugin.hive.metastore.HivePrivilegeInfo; import io.trino.plugin.hive.metastore.HivePrivilegeInfo.HivePrivilege; -import io.trino.plugin.hive.metastore.MetastoreConfig; import io.trino.plugin.hive.metastore.Partition; import io.trino.plugin.hive.metastore.PartitionWithStatistics; import io.trino.plugin.hive.metastore.PrincipalPrivileges; @@ -71,11 +71,11 @@ public class AlluxioHiveMetastore { private final TableMasterClient client; - public AlluxioHiveMetastore(TableMasterClient client, MetastoreConfig metastoreConfig) + public AlluxioHiveMetastore(TableMasterClient client, HiveMetastoreConfig hiveMetastoreConfig) { this.client = requireNonNull(client, "client is null"); - requireNonNull(metastoreConfig, "metastoreConfig is null"); - checkArgument(!metastoreConfig.isHideDeltaLakeTables(), "Hiding Delta Lake tables is not supported"); // TODO + requireNonNull(hiveMetastoreConfig, "hiveMetastoreConfig is null"); + checkArgument(!hiveMetastoreConfig.isHideDeltaLakeTables(), "Hiding Delta Lake tables is not supported"); // TODO } @Override diff --git a/plugin/trino-hive/src/main/java/io/trino/plugin/hive/metastore/alluxio/AlluxioHiveMetastoreFactory.java b/plugin/trino-hive/src/main/java/io/trino/plugin/hive/metastore/alluxio/AlluxioHiveMetastoreFactory.java index fdb315d7b2aa..8737945d4568 100644 --- a/plugin/trino-hive/src/main/java/io/trino/plugin/hive/metastore/alluxio/AlluxioHiveMetastoreFactory.java +++ b/plugin/trino-hive/src/main/java/io/trino/plugin/hive/metastore/alluxio/AlluxioHiveMetastoreFactory.java @@ -15,8 +15,8 @@ import alluxio.client.table.TableMasterClient; import io.trino.plugin.hive.metastore.HiveMetastore; +import io.trino.plugin.hive.metastore.HiveMetastoreConfig; import io.trino.plugin.hive.metastore.HiveMetastoreFactory; -import io.trino.plugin.hive.metastore.MetastoreConfig; import io.trino.spi.security.ConnectorIdentity; import javax.inject.Inject; @@ -29,10 +29,10 @@ public class AlluxioHiveMetastoreFactory private final AlluxioHiveMetastore metastore; @Inject - public AlluxioHiveMetastoreFactory(TableMasterClient client, MetastoreConfig metastoreConfig) + public AlluxioHiveMetastoreFactory(TableMasterClient client, HiveMetastoreConfig hiveMetastoreConfig) { // Alluxio metastore does not support impersonation, so just create a single shared instance - metastore = new AlluxioHiveMetastore(client, metastoreConfig); + metastore = new AlluxioHiveMetastore(client, hiveMetastoreConfig); } @Override diff --git a/plugin/trino-hive/src/main/java/io/trino/plugin/hive/metastore/file/FileHiveMetastore.java b/plugin/trino-hive/src/main/java/io/trino/plugin/hive/metastore/file/FileHiveMetastore.java index fbd63b7b2c55..f7b1f2dd16f2 100644 --- a/plugin/trino-hive/src/main/java/io/trino/plugin/hive/metastore/file/FileHiveMetastore.java +++ b/plugin/trino-hive/src/main/java/io/trino/plugin/hive/metastore/file/FileHiveMetastore.java @@ -40,10 +40,10 @@ import io.trino.plugin.hive.metastore.Database; import io.trino.plugin.hive.metastore.HiveColumnStatistics; import io.trino.plugin.hive.metastore.HiveMetastore; +import io.trino.plugin.hive.metastore.HiveMetastoreConfig; import io.trino.plugin.hive.metastore.HivePrincipal; import io.trino.plugin.hive.metastore.HivePrivilegeInfo; import io.trino.plugin.hive.metastore.HivePrivilegeInfo.HivePrivilege; -import io.trino.plugin.hive.metastore.MetastoreConfig; import io.trino.plugin.hive.metastore.Partition; import io.trino.plugin.hive.metastore.PartitionWithStatistics; import io.trino.plugin.hive.metastore.PrincipalPrivileges; @@ -165,13 +165,13 @@ public static FileHiveMetastore createTestingFileHiveMetastore(File catalogDirec return new FileHiveMetastore( new NodeVersion("testversion"), hdfsEnvironment, - new MetastoreConfig(), + new HiveMetastoreConfig(), new FileHiveMetastoreConfig() .setCatalogDirectory(catalogDirectory.toURI().toString()) .setMetastoreUser("test")); } - public FileHiveMetastore(NodeVersion nodeVersion, HdfsEnvironment hdfsEnvironment, MetastoreConfig metastoreConfig, FileHiveMetastoreConfig config) + public FileHiveMetastore(NodeVersion nodeVersion, HdfsEnvironment hdfsEnvironment, HiveMetastoreConfig hiveMetastoreConfig, FileHiveMetastoreConfig config) { this.currentVersion = requireNonNull(nodeVersion, "nodeVersion is null").toString(); requireNonNull(config, "config is null"); @@ -179,7 +179,7 @@ public FileHiveMetastore(NodeVersion nodeVersion, HdfsEnvironment hdfsEnvironmen this.hdfsEnvironment = requireNonNull(hdfsEnvironment, "hdfsEnvironment is null"); this.catalogDirectory = new Path(requireNonNull(config.getCatalogDirectory(), "catalogDirectory is null")); this.hdfsContext = new HdfsContext(ConnectorIdentity.ofUser(config.getMetastoreUser())); - this.hideDeltaLakeTables = requireNonNull(metastoreConfig, "metastoreConfig is null").isHideDeltaLakeTables(); + this.hideDeltaLakeTables = requireNonNull(hiveMetastoreConfig, "hiveMetastoreConfig is null").isHideDeltaLakeTables(); try { metadataFileSystem = hdfsEnvironment.getFileSystem(hdfsContext, this.catalogDirectory); } diff --git a/plugin/trino-hive/src/main/java/io/trino/plugin/hive/metastore/file/FileHiveMetastoreFactory.java b/plugin/trino-hive/src/main/java/io/trino/plugin/hive/metastore/file/FileHiveMetastoreFactory.java index 235d2e84d482..871b399ea69f 100644 --- a/plugin/trino-hive/src/main/java/io/trino/plugin/hive/metastore/file/FileHiveMetastoreFactory.java +++ b/plugin/trino-hive/src/main/java/io/trino/plugin/hive/metastore/file/FileHiveMetastoreFactory.java @@ -16,8 +16,8 @@ import io.trino.plugin.hive.HdfsEnvironment; import io.trino.plugin.hive.NodeVersion; import io.trino.plugin.hive.metastore.HiveMetastore; +import io.trino.plugin.hive.metastore.HiveMetastoreConfig; import io.trino.plugin.hive.metastore.HiveMetastoreFactory; -import io.trino.plugin.hive.metastore.MetastoreConfig; import io.trino.spi.security.ConnectorIdentity; import javax.inject.Inject; @@ -30,10 +30,10 @@ public class FileHiveMetastoreFactory private final FileHiveMetastore metastore; @Inject - public FileHiveMetastoreFactory(NodeVersion nodeVersion, HdfsEnvironment hdfsEnvironment, MetastoreConfig metastoreConfig, FileHiveMetastoreConfig config) + public FileHiveMetastoreFactory(NodeVersion nodeVersion, HdfsEnvironment hdfsEnvironment, HiveMetastoreConfig hiveMetastoreConfig, FileHiveMetastoreConfig config) { // file metastore does not support impersonation, so just create a single shared instance - metastore = new FileHiveMetastore(nodeVersion, hdfsEnvironment, metastoreConfig, config); + metastore = new FileHiveMetastore(nodeVersion, hdfsEnvironment, hiveMetastoreConfig, config); } @Override diff --git a/plugin/trino-hive/src/main/java/io/trino/plugin/hive/metastore/glue/DefaultGlueMetastoreTableFilterProvider.java b/plugin/trino-hive/src/main/java/io/trino/plugin/hive/metastore/glue/DefaultGlueMetastoreTableFilterProvider.java index 950b5a4558c3..1908c122d8f7 100644 --- a/plugin/trino-hive/src/main/java/io/trino/plugin/hive/metastore/glue/DefaultGlueMetastoreTableFilterProvider.java +++ b/plugin/trino-hive/src/main/java/io/trino/plugin/hive/metastore/glue/DefaultGlueMetastoreTableFilterProvider.java @@ -14,7 +14,7 @@ package io.trino.plugin.hive.metastore.glue; import com.amazonaws.services.glue.model.Table; -import io.trino.plugin.hive.metastore.MetastoreConfig; +import io.trino.plugin.hive.metastore.HiveMetastoreConfig; import javax.inject.Inject; import javax.inject.Provider; @@ -34,10 +34,10 @@ public class DefaultGlueMetastoreTableFilterProvider private final boolean hideDeltaLakeTables; @Inject - public DefaultGlueMetastoreTableFilterProvider(MetastoreConfig metastoreConfig) + public DefaultGlueMetastoreTableFilterProvider(HiveMetastoreConfig hiveMetastoreConfig) { - requireNonNull(metastoreConfig, "metastoreConfig is null"); - this.hideDeltaLakeTables = metastoreConfig.isHideDeltaLakeTables(); + requireNonNull(hiveMetastoreConfig, "hiveMetastoreConfig is null"); + this.hideDeltaLakeTables = hiveMetastoreConfig.isHideDeltaLakeTables(); } @Override diff --git a/plugin/trino-hive/src/main/java/io/trino/plugin/hive/metastore/thrift/ThriftHiveMetastore.java b/plugin/trino-hive/src/main/java/io/trino/plugin/hive/metastore/thrift/ThriftHiveMetastore.java index be9730c9ff63..6933b0fabddf 100644 --- a/plugin/trino-hive/src/main/java/io/trino/plugin/hive/metastore/thrift/ThriftHiveMetastore.java +++ b/plugin/trino-hive/src/main/java/io/trino/plugin/hive/metastore/thrift/ThriftHiveMetastore.java @@ -37,10 +37,10 @@ import io.trino.plugin.hive.metastore.AcidTransactionOwner; import io.trino.plugin.hive.metastore.Column; import io.trino.plugin.hive.metastore.HiveColumnStatistics; +import io.trino.plugin.hive.metastore.HiveMetastoreConfig; import io.trino.plugin.hive.metastore.HivePrincipal; import io.trino.plugin.hive.metastore.HivePrivilegeInfo; import io.trino.plugin.hive.metastore.HivePrivilegeInfo.HivePrivilege; -import io.trino.plugin.hive.metastore.MetastoreConfig; import io.trino.plugin.hive.metastore.PartitionWithStatistics; import io.trino.plugin.hive.metastore.thrift.ThriftMetastoreAuthenticationConfig.ThriftMetastoreAuthenticationType; import io.trino.plugin.hive.util.RetryDriver; @@ -196,7 +196,7 @@ public class ThriftHiveMetastore @Inject public ThriftHiveMetastore( MetastoreLocator metastoreLocator, - MetastoreConfig metastoreConfig, + HiveMetastoreConfig hiveMetastoreConfig, @TranslateHiveViews boolean translateHiveViews, ThriftMetastoreConfig thriftConfig, ThriftMetastoreAuthenticationConfig authenticationConfig, @@ -204,7 +204,7 @@ public ThriftHiveMetastore( { this( metastoreLocator, - metastoreConfig, + hiveMetastoreConfig, translateHiveViews, thriftConfig, hdfsEnvironment, @@ -213,7 +213,7 @@ public ThriftHiveMetastore( public ThriftHiveMetastore( MetastoreLocator metastoreLocator, - MetastoreConfig metastoreConfig, + HiveMetastoreConfig hiveMetastoreConfig, boolean translateHiveViews, ThriftMetastoreConfig thriftConfig, HdfsEnvironment hdfsEnvironment, @@ -230,8 +230,8 @@ public ThriftHiveMetastore( this.impersonationEnabled = thriftConfig.isImpersonationEnabled(); this.deleteFilesOnDrop = thriftConfig.isDeleteFilesOnDrop(); this.translateHiveViews = translateHiveViews; - requireNonNull(metastoreConfig, "metastoreConfig is null"); - checkArgument(!metastoreConfig.isHideDeltaLakeTables(), "Hiding Delta Lake tables is not supported"); // TODO + requireNonNull(hiveMetastoreConfig, "metastoreConfig is null"); + checkArgument(!hiveMetastoreConfig.isHideDeltaLakeTables(), "Hiding Delta Lake tables is not supported"); // TODO this.maxWaitForLock = thriftConfig.getMaxWaitForTransactionLock(); this.authenticationEnabled = authenticationEnabled; diff --git a/plugin/trino-hive/src/test/java/io/trino/plugin/hive/AbstractTestHive.java b/plugin/trino-hive/src/test/java/io/trino/plugin/hive/AbstractTestHive.java index 9f0bb4260311..065af341b1c7 100644 --- a/plugin/trino-hive/src/test/java/io/trino/plugin/hive/AbstractTestHive.java +++ b/plugin/trino-hive/src/test/java/io/trino/plugin/hive/AbstractTestHive.java @@ -38,11 +38,11 @@ import io.trino.plugin.hive.metastore.Column; import io.trino.plugin.hive.metastore.HiveColumnStatistics; import io.trino.plugin.hive.metastore.HiveMetastore; +import io.trino.plugin.hive.metastore.HiveMetastoreConfig; import io.trino.plugin.hive.metastore.HiveMetastoreFactory; import io.trino.plugin.hive.metastore.HivePrincipal; import io.trino.plugin.hive.metastore.HivePrivilegeInfo; import io.trino.plugin.hive.metastore.HivePrivilegeInfo.HivePrivilege; -import io.trino.plugin.hive.metastore.MetastoreConfig; import io.trino.plugin.hive.metastore.Partition; import io.trino.plugin.hive.metastore.PartitionWithStatistics; import io.trino.plugin.hive.metastore.PrincipalPrivileges; @@ -791,7 +791,7 @@ protected final void setup(String host, int port, String databaseName, String ti HiveMetastore metastore = cachingHiveMetastore( new BridgingHiveMetastore(new ThriftHiveMetastore( metastoreLocator, - new MetastoreConfig(), + new HiveMetastoreConfig(), new HiveConfig().isTranslateHiveViews(), new ThriftMetastoreConfig(), hdfsEnvironment, diff --git a/plugin/trino-hive/src/test/java/io/trino/plugin/hive/AbstractTestHiveFileSystem.java b/plugin/trino-hive/src/test/java/io/trino/plugin/hive/AbstractTestHiveFileSystem.java index 8a50e1eacdec..6a5d3b2aea40 100644 --- a/plugin/trino-hive/src/test/java/io/trino/plugin/hive/AbstractTestHiveFileSystem.java +++ b/plugin/trino-hive/src/test/java/io/trino/plugin/hive/AbstractTestHiveFileSystem.java @@ -32,8 +32,8 @@ import io.trino.plugin.hive.metastore.Database; import io.trino.plugin.hive.metastore.ForwardingHiveMetastore; import io.trino.plugin.hive.metastore.HiveMetastore; +import io.trino.plugin.hive.metastore.HiveMetastoreConfig; import io.trino.plugin.hive.metastore.HiveMetastoreFactory; -import io.trino.plugin.hive.metastore.MetastoreConfig; import io.trino.plugin.hive.metastore.PrincipalPrivileges; import io.trino.plugin.hive.metastore.Table; import io.trino.plugin.hive.metastore.thrift.BridgingHiveMetastore; @@ -185,12 +185,12 @@ protected void setup(String host, int port, String databaseName, boolean s3Selec HivePartitionManager hivePartitionManager = new HivePartitionManager(config); hdfsEnvironment = new HdfsEnvironment(hdfsConfiguration, new HdfsConfig(), new NoHdfsAuthentication()); - MetastoreConfig metastoreConfig = new MetastoreConfig(); + HiveMetastoreConfig hiveMetastoreConfig = new HiveMetastoreConfig(); metastoreClient = new TestingHiveMetastore( new BridgingHiveMetastore( new ThriftHiveMetastore( metastoreLocator, - metastoreConfig, + hiveMetastoreConfig, new HiveConfig().isTranslateHiveViews(), new ThriftMetastoreConfig(), hdfsEnvironment, @@ -203,7 +203,7 @@ protected void setup(String host, int port, String databaseName, boolean s3Selec metadataFactory = new HiveMetadataFactory( new CatalogName("hive"), config, - metastoreConfig, + hiveMetastoreConfig, HiveMetastoreFactory.ofInstance(metastoreClient), hdfsEnvironment, hivePartitionManager, diff --git a/plugin/trino-hive/src/test/java/io/trino/plugin/hive/BaseTestHiveOnDataLake.java b/plugin/trino-hive/src/test/java/io/trino/plugin/hive/BaseTestHiveOnDataLake.java index 89f14f329510..3a0c87b4c1b8 100644 --- a/plugin/trino-hive/src/test/java/io/trino/plugin/hive/BaseTestHiveOnDataLake.java +++ b/plugin/trino-hive/src/test/java/io/trino/plugin/hive/BaseTestHiveOnDataLake.java @@ -23,7 +23,7 @@ import io.trino.plugin.hive.authentication.NoHdfsAuthentication; import io.trino.plugin.hive.containers.HiveMinioDataLake; import io.trino.plugin.hive.metastore.HiveMetastore; -import io.trino.plugin.hive.metastore.MetastoreConfig; +import io.trino.plugin.hive.metastore.HiveMetastoreConfig; import io.trino.plugin.hive.metastore.Partition; import io.trino.plugin.hive.metastore.PartitionWithStatistics; import io.trino.plugin.hive.metastore.Table; @@ -80,7 +80,7 @@ protected QueryRunner createQueryRunner() new TestingMetastoreLocator( Optional.empty(), this.dockerizedS3DataLake.getHiveHadoop().getHiveMetastoreEndpoint()), - new MetastoreConfig(), + new HiveMetastoreConfig(), new HiveConfig().isTranslateHiveViews(), new ThriftMetastoreConfig(), new HdfsEnvironment(new HiveHdfsConfiguration( diff --git a/plugin/trino-hive/src/test/java/io/trino/plugin/hive/HiveQueryRunner.java b/plugin/trino-hive/src/test/java/io/trino/plugin/hive/HiveQueryRunner.java index e36058bc9e57..479d444e4d43 100644 --- a/plugin/trino-hive/src/test/java/io/trino/plugin/hive/HiveQueryRunner.java +++ b/plugin/trino-hive/src/test/java/io/trino/plugin/hive/HiveQueryRunner.java @@ -23,7 +23,7 @@ import io.trino.plugin.hive.fs.DirectoryLister; import io.trino.plugin.hive.metastore.Database; import io.trino.plugin.hive.metastore.HiveMetastore; -import io.trino.plugin.hive.metastore.MetastoreConfig; +import io.trino.plugin.hive.metastore.HiveMetastoreConfig; import io.trino.plugin.hive.metastore.file.FileHiveMetastore; import io.trino.plugin.hive.metastore.file.FileHiveMetastoreConfig; import io.trino.plugin.tpcds.TpcdsPlugin; @@ -108,7 +108,7 @@ public static class Builder> return new FileHiveMetastore( new NodeVersion("test_version"), HDFS_ENVIRONMENT, - new MetastoreConfig(), + new HiveMetastoreConfig(), new FileHiveMetastoreConfig() .setCatalogDirectory(baseDir.toURI().toString()) .setMetastoreUser("test")); diff --git a/plugin/trino-hive/src/test/java/io/trino/plugin/hive/TestHiveFileMetastore.java b/plugin/trino-hive/src/test/java/io/trino/plugin/hive/TestHiveFileMetastore.java index a22db0ba6e24..1014776b980e 100644 --- a/plugin/trino-hive/src/test/java/io/trino/plugin/hive/TestHiveFileMetastore.java +++ b/plugin/trino-hive/src/test/java/io/trino/plugin/hive/TestHiveFileMetastore.java @@ -15,7 +15,7 @@ import io.trino.plugin.hive.authentication.HiveIdentity; import io.trino.plugin.hive.metastore.HiveMetastore; -import io.trino.plugin.hive.metastore.MetastoreConfig; +import io.trino.plugin.hive.metastore.HiveMetastoreConfig; import io.trino.plugin.hive.metastore.file.FileHiveMetastore; import io.trino.plugin.hive.metastore.file.FileHiveMetastoreConfig; import org.testng.SkipException; @@ -37,7 +37,7 @@ protected HiveMetastore createMetastore(File tempDir, HiveIdentity identity) return new FileHiveMetastore( new NodeVersion("test_version"), HDFS_ENVIRONMENT, - new MetastoreConfig() + new HiveMetastoreConfig() .setHideDeltaLakeTables(true), new FileHiveMetastoreConfig() .setCatalogDirectory(baseDir.toURI().toString()) diff --git a/plugin/trino-hive/src/test/java/io/trino/plugin/hive/metastore/TestMetastoreConfig.java b/plugin/trino-hive/src/test/java/io/trino/plugin/hive/metastore/TestHiveMetastoreConfig.java similarity index 88% rename from plugin/trino-hive/src/test/java/io/trino/plugin/hive/metastore/TestMetastoreConfig.java rename to plugin/trino-hive/src/test/java/io/trino/plugin/hive/metastore/TestHiveMetastoreConfig.java index 4b3930439f75..f5499c617ab5 100644 --- a/plugin/trino-hive/src/test/java/io/trino/plugin/hive/metastore/TestMetastoreConfig.java +++ b/plugin/trino-hive/src/test/java/io/trino/plugin/hive/metastore/TestHiveMetastoreConfig.java @@ -22,12 +22,12 @@ import static io.airlift.configuration.testing.ConfigAssertions.assertRecordedDefaults; import static io.airlift.configuration.testing.ConfigAssertions.recordDefaults; -public class TestMetastoreConfig +public class TestHiveMetastoreConfig { @Test public void testDefaults() { - assertRecordedDefaults(recordDefaults(MetastoreConfig.class) + assertRecordedDefaults(recordDefaults(HiveMetastoreConfig.class) .setHideDeltaLakeTables(false)); } @@ -38,7 +38,7 @@ public void testExplicitPropertyMappings() .put("hive.hide-delta-lake-tables", "true") .buildOrThrow(); - MetastoreConfig expected = new MetastoreConfig() + HiveMetastoreConfig expected = new HiveMetastoreConfig() .setHideDeltaLakeTables(true); assertFullMapping(properties, expected); diff --git a/plugin/trino-hive/src/test/java/io/trino/plugin/hive/metastore/cache/TestCachingHiveMetastore.java b/plugin/trino-hive/src/test/java/io/trino/plugin/hive/metastore/cache/TestCachingHiveMetastore.java index 245bd50920b0..4ab7075a328c 100644 --- a/plugin/trino-hive/src/test/java/io/trino/plugin/hive/metastore/cache/TestCachingHiveMetastore.java +++ b/plugin/trino-hive/src/test/java/io/trino/plugin/hive/metastore/cache/TestCachingHiveMetastore.java @@ -26,8 +26,8 @@ import io.trino.plugin.hive.authentication.HiveIdentity; import io.trino.plugin.hive.metastore.Column; import io.trino.plugin.hive.metastore.HiveMetastore; +import io.trino.plugin.hive.metastore.HiveMetastoreConfig; import io.trino.plugin.hive.metastore.HivePrincipal; -import io.trino.plugin.hive.metastore.MetastoreConfig; import io.trino.plugin.hive.metastore.Partition; import io.trino.plugin.hive.metastore.Table; import io.trino.plugin.hive.metastore.UnimplementedHiveMetastore; @@ -154,7 +154,7 @@ private ThriftHiveMetastore createThriftHiveMetastore() private static ThriftHiveMetastore createThriftHiveMetastore(ThriftMetastoreClient client) { MetastoreLocator metastoreLocator = new MockMetastoreLocator(client); - return new ThriftHiveMetastore(metastoreLocator, new MetastoreConfig(), new HiveConfig().isTranslateHiveViews(), new ThriftMetastoreConfig(), HDFS_ENVIRONMENT, false); + return new ThriftHiveMetastore(metastoreLocator, new HiveMetastoreConfig(), new HiveConfig().isTranslateHiveViews(), new ThriftMetastoreConfig(), HDFS_ENVIRONMENT, false); } @Test diff --git a/plugin/trino-hive/src/test/java/io/trino/plugin/hive/metastore/glue/TestHiveGlueMetastore.java b/plugin/trino-hive/src/test/java/io/trino/plugin/hive/metastore/glue/TestHiveGlueMetastore.java index 6c81c8e4b080..325bffa802ce 100644 --- a/plugin/trino-hive/src/test/java/io/trino/plugin/hive/metastore/glue/TestHiveGlueMetastore.java +++ b/plugin/trino-hive/src/test/java/io/trino/plugin/hive/metastore/glue/TestHiveGlueMetastore.java @@ -38,7 +38,7 @@ import io.trino.plugin.hive.authentication.HiveIdentity; import io.trino.plugin.hive.metastore.HiveColumnStatistics; import io.trino.plugin.hive.metastore.HiveMetastore; -import io.trino.plugin.hive.metastore.MetastoreConfig; +import io.trino.plugin.hive.metastore.HiveMetastoreConfig; import io.trino.plugin.hive.metastore.PartitionWithStatistics; import io.trino.plugin.hive.metastore.Table; import io.trino.plugin.hive.metastore.glue.converter.GlueInputConverter; @@ -224,7 +224,7 @@ protected HiveMetastore createMetastore(File tempDir, HiveIdentity identity) new DefaultGlueColumnStatisticsProviderFactory(executor, executor), Optional.empty(), new DefaultGlueMetastoreTableFilterProvider( - new MetastoreConfig() + new HiveMetastoreConfig() .setHideDeltaLakeTables(true)).get()); } diff --git a/plugin/trino-hive/src/test/java/io/trino/plugin/hive/optimizer/TestConnectorPushdownRulesWithHive.java b/plugin/trino-hive/src/test/java/io/trino/plugin/hive/optimizer/TestConnectorPushdownRulesWithHive.java index 0bc41986507c..998ee3f9af94 100644 --- a/plugin/trino-hive/src/test/java/io/trino/plugin/hive/optimizer/TestConnectorPushdownRulesWithHive.java +++ b/plugin/trino-hive/src/test/java/io/trino/plugin/hive/optimizer/TestConnectorPushdownRulesWithHive.java @@ -35,7 +35,7 @@ import io.trino.plugin.hive.authentication.NoHdfsAuthentication; import io.trino.plugin.hive.metastore.Database; import io.trino.plugin.hive.metastore.HiveMetastore; -import io.trino.plugin.hive.metastore.MetastoreConfig; +import io.trino.plugin.hive.metastore.HiveMetastoreConfig; import io.trino.plugin.hive.metastore.file.FileHiveMetastore; import io.trino.plugin.hive.metastore.file.FileHiveMetastoreConfig; import io.trino.spi.predicate.Domain; @@ -111,7 +111,7 @@ protected Optional createLocalQueryRunner() metastore = new FileHiveMetastore( new NodeVersion("test_version"), environment, - new MetastoreConfig(), + new HiveMetastoreConfig(), new FileHiveMetastoreConfig() .setCatalogDirectory(baseDir.toURI().toString()) .setMetastoreUser("test")); diff --git a/plugin/trino-hive/src/test/java/io/trino/plugin/hive/optimizer/TestHivePlans.java b/plugin/trino-hive/src/test/java/io/trino/plugin/hive/optimizer/TestHivePlans.java index 5e38979ab2f7..85916e44d84d 100644 --- a/plugin/trino-hive/src/test/java/io/trino/plugin/hive/optimizer/TestHivePlans.java +++ b/plugin/trino-hive/src/test/java/io/trino/plugin/hive/optimizer/TestHivePlans.java @@ -26,7 +26,7 @@ import io.trino.plugin.hive.authentication.NoHdfsAuthentication; import io.trino.plugin.hive.metastore.Database; import io.trino.plugin.hive.metastore.HiveMetastore; -import io.trino.plugin.hive.metastore.MetastoreConfig; +import io.trino.plugin.hive.metastore.HiveMetastoreConfig; import io.trino.plugin.hive.metastore.file.FileHiveMetastore; import io.trino.plugin.hive.metastore.file.FileHiveMetastoreConfig; import io.trino.spi.TrinoException; @@ -89,7 +89,7 @@ protected LocalQueryRunner createLocalQueryRunner() HiveMetastore metastore = new FileHiveMetastore( new NodeVersion("test_version"), environment, - new MetastoreConfig(), + new HiveMetastoreConfig(), new FileHiveMetastoreConfig() .setCatalogDirectory(baseDir.toURI().toString()) .setMetastoreUser("test")); diff --git a/plugin/trino-hive/src/test/java/io/trino/plugin/hive/optimizer/TestHiveProjectionPushdownIntoTableScan.java b/plugin/trino-hive/src/test/java/io/trino/plugin/hive/optimizer/TestHiveProjectionPushdownIntoTableScan.java index dbda46f2451c..729dcb6f2439 100644 --- a/plugin/trino-hive/src/test/java/io/trino/plugin/hive/optimizer/TestHiveProjectionPushdownIntoTableScan.java +++ b/plugin/trino-hive/src/test/java/io/trino/plugin/hive/optimizer/TestHiveProjectionPushdownIntoTableScan.java @@ -32,7 +32,7 @@ import io.trino.plugin.hive.authentication.NoHdfsAuthentication; import io.trino.plugin.hive.metastore.Database; import io.trino.plugin.hive.metastore.HiveMetastore; -import io.trino.plugin.hive.metastore.MetastoreConfig; +import io.trino.plugin.hive.metastore.HiveMetastoreConfig; import io.trino.plugin.hive.metastore.file.FileHiveMetastore; import io.trino.plugin.hive.metastore.file.FileHiveMetastoreConfig; import io.trino.spi.connector.ColumnHandle; @@ -89,7 +89,7 @@ protected LocalQueryRunner createLocalQueryRunner() HiveMetastore metastore = new FileHiveMetastore( new NodeVersion("test_version"), environment, - new MetastoreConfig(), + new HiveMetastoreConfig(), new FileHiveMetastoreConfig() .setCatalogDirectory(baseDir.toURI().toString()) .setMetastoreUser("test")); diff --git a/plugin/trino-hive/src/test/java/io/trino/plugin/hive/s3/S3HiveQueryRunner.java b/plugin/trino-hive/src/test/java/io/trino/plugin/hive/s3/S3HiveQueryRunner.java index 184c22d1ba0d..7e3056e2ebbf 100644 --- a/plugin/trino-hive/src/test/java/io/trino/plugin/hive/s3/S3HiveQueryRunner.java +++ b/plugin/trino-hive/src/test/java/io/trino/plugin/hive/s3/S3HiveQueryRunner.java @@ -25,7 +25,7 @@ import io.trino.plugin.hive.authentication.HiveIdentity; import io.trino.plugin.hive.authentication.NoHdfsAuthentication; import io.trino.plugin.hive.containers.HiveMinioDataLake; -import io.trino.plugin.hive.metastore.MetastoreConfig; +import io.trino.plugin.hive.metastore.HiveMetastoreConfig; import io.trino.plugin.hive.metastore.thrift.BridgingHiveMetastore; import io.trino.plugin.hive.metastore.thrift.TestingMetastoreLocator; import io.trino.plugin.hive.metastore.thrift.ThriftHiveMetastore; @@ -156,7 +156,7 @@ public DistributedQueryRunner build() Optional.empty(), hiveMetastoreEndpoint, metastoreTimeout), - new MetastoreConfig(), + new HiveMetastoreConfig(), new HiveConfig().isTranslateHiveViews(), new ThriftMetastoreConfig(), new HdfsEnvironment(new HiveHdfsConfiguration( diff --git a/plugin/trino-iceberg/src/main/java/io/trino/plugin/iceberg/IcebergModule.java b/plugin/trino-iceberg/src/main/java/io/trino/plugin/iceberg/IcebergModule.java index 69546d8ffc7a..ce14567fe327 100644 --- a/plugin/trino-iceberg/src/main/java/io/trino/plugin/iceberg/IcebergModule.java +++ b/plugin/trino-iceberg/src/main/java/io/trino/plugin/iceberg/IcebergModule.java @@ -19,7 +19,7 @@ import com.google.inject.multibindings.Multibinder; import io.trino.plugin.base.session.SessionPropertiesProvider; import io.trino.plugin.hive.FileFormatDataSourceStats; -import io.trino.plugin.hive.metastore.MetastoreConfig; +import io.trino.plugin.hive.metastore.HiveMetastoreConfig; import io.trino.plugin.hive.orc.OrcReaderConfig; import io.trino.plugin.hive.orc.OrcWriterConfig; import io.trino.plugin.hive.parquet.ParquetReaderConfig; @@ -48,7 +48,7 @@ public void configure(Binder binder) { binder.bind(IcebergTransactionManager.class).in(Scopes.SINGLETON); configBinder(binder).bindConfig(IcebergConfig.class); - configBinder(binder).bindConfig(MetastoreConfig.class); + configBinder(binder).bindConfig(HiveMetastoreConfig.class); newSetBinder(binder, SessionPropertiesProvider.class).addBinding().to(IcebergSessionProperties.class).in(Scopes.SINGLETON); binder.bind(IcebergTableProperties.class).in(Scopes.SINGLETON); diff --git a/plugin/trino-iceberg/src/test/java/io/trino/plugin/iceberg/TestIcebergMergeAppend.java b/plugin/trino-iceberg/src/test/java/io/trino/plugin/iceberg/TestIcebergMergeAppend.java index b220e30de602..e72948011d9a 100644 --- a/plugin/trino-iceberg/src/test/java/io/trino/plugin/iceberg/TestIcebergMergeAppend.java +++ b/plugin/trino-iceberg/src/test/java/io/trino/plugin/iceberg/TestIcebergMergeAppend.java @@ -23,7 +23,7 @@ import io.trino.plugin.hive.NodeVersion; import io.trino.plugin.hive.authentication.NoHdfsAuthentication; import io.trino.plugin.hive.metastore.HiveMetastore; -import io.trino.plugin.hive.metastore.MetastoreConfig; +import io.trino.plugin.hive.metastore.HiveMetastoreConfig; import io.trino.plugin.hive.metastore.file.FileHiveMetastore; import io.trino.plugin.hive.metastore.file.FileHiveMetastoreConfig; import io.trino.plugin.iceberg.catalog.IcebergTableOperationsProvider; @@ -63,7 +63,7 @@ protected QueryRunner createQueryRunner() throws Exception HiveMetastore metastore = new FileHiveMetastore( new NodeVersion("testversion"), hdfsEnvironment, - new MetastoreConfig(), + new HiveMetastoreConfig(), new FileHiveMetastoreConfig() .setCatalogDirectory(baseDir.toURI().toString()) .setMetastoreUser("test")); diff --git a/plugin/trino-iceberg/src/test/java/io/trino/plugin/iceberg/TestIcebergMetadataListing.java b/plugin/trino-iceberg/src/test/java/io/trino/plugin/iceberg/TestIcebergMetadataListing.java index e30336a510c4..2f304965ead1 100644 --- a/plugin/trino-iceberg/src/test/java/io/trino/plugin/iceberg/TestIcebergMetadataListing.java +++ b/plugin/trino-iceberg/src/test/java/io/trino/plugin/iceberg/TestIcebergMetadataListing.java @@ -27,7 +27,7 @@ import io.trino.plugin.hive.TestingHivePlugin; import io.trino.plugin.hive.authentication.NoHdfsAuthentication; import io.trino.plugin.hive.metastore.HiveMetastore; -import io.trino.plugin.hive.metastore.MetastoreConfig; +import io.trino.plugin.hive.metastore.HiveMetastoreConfig; import io.trino.plugin.hive.metastore.file.FileHiveMetastore; import io.trino.plugin.hive.metastore.file.FileHiveMetastoreConfig; import io.trino.spi.connector.SchemaTableName; @@ -75,7 +75,7 @@ protected DistributedQueryRunner createQueryRunner() metastore = new FileHiveMetastore( new NodeVersion("test_version"), hdfsEnvironment, - new MetastoreConfig(), + new HiveMetastoreConfig(), new FileHiveMetastoreConfig() .setCatalogDirectory(baseDir.toURI().toString()) .setMetastoreUser("test")); diff --git a/plugin/trino-iceberg/src/test/java/io/trino/plugin/iceberg/TestIcebergMetastoreAccessOperations.java b/plugin/trino-iceberg/src/test/java/io/trino/plugin/iceberg/TestIcebergMetastoreAccessOperations.java index f913bb142bb2..104510c753cf 100644 --- a/plugin/trino-iceberg/src/test/java/io/trino/plugin/iceberg/TestIcebergMetastoreAccessOperations.java +++ b/plugin/trino-iceberg/src/test/java/io/trino/plugin/iceberg/TestIcebergMetastoreAccessOperations.java @@ -27,7 +27,7 @@ import io.trino.plugin.hive.authentication.NoHdfsAuthentication; import io.trino.plugin.hive.metastore.CountingAccessHiveMetastore; import io.trino.plugin.hive.metastore.HiveMetastore; -import io.trino.plugin.hive.metastore.MetastoreConfig; +import io.trino.plugin.hive.metastore.HiveMetastoreConfig; import io.trino.plugin.hive.metastore.file.FileHiveMetastore; import io.trino.plugin.hive.metastore.file.FileHiveMetastoreConfig; import io.trino.testing.AbstractTestQueryFramework; @@ -82,7 +82,7 @@ protected DistributedQueryRunner createQueryRunner() HiveMetastore hiveMetastore = new FileHiveMetastore( new NodeVersion("testversion"), hdfsEnvironment, - new MetastoreConfig(), + new HiveMetastoreConfig(), new FileHiveMetastoreConfig() .setCatalogDirectory(baseDir.toURI().toString()) .setMetastoreUser("test")); diff --git a/plugin/trino-iceberg/src/test/java/io/trino/plugin/iceberg/TestIcebergOrcMetricsCollection.java b/plugin/trino-iceberg/src/test/java/io/trino/plugin/iceberg/TestIcebergOrcMetricsCollection.java index 8de607a5dfaf..9d5e2af3b5d7 100644 --- a/plugin/trino-iceberg/src/test/java/io/trino/plugin/iceberg/TestIcebergOrcMetricsCollection.java +++ b/plugin/trino-iceberg/src/test/java/io/trino/plugin/iceberg/TestIcebergOrcMetricsCollection.java @@ -24,7 +24,7 @@ import io.trino.plugin.hive.NodeVersion; import io.trino.plugin.hive.authentication.NoHdfsAuthentication; import io.trino.plugin.hive.metastore.HiveMetastore; -import io.trino.plugin.hive.metastore.MetastoreConfig; +import io.trino.plugin.hive.metastore.HiveMetastoreConfig; import io.trino.plugin.hive.metastore.file.FileHiveMetastore; import io.trino.plugin.hive.metastore.file.FileHiveMetastoreConfig; import io.trino.plugin.iceberg.catalog.IcebergTableOperationsProvider; @@ -90,7 +90,7 @@ protected QueryRunner createQueryRunner() HiveMetastore metastore = new FileHiveMetastore( new NodeVersion("test_version"), hdfsEnvironment, - new MetastoreConfig(), + new HiveMetastoreConfig(), new FileHiveMetastoreConfig() .setCatalogDirectory(baseDir.toURI().toString()) .setMetastoreUser("test")); diff --git a/plugin/trino-iceberg/src/test/java/io/trino/plugin/iceberg/TestIcebergTableWithCustomLocation.java b/plugin/trino-iceberg/src/test/java/io/trino/plugin/iceberg/TestIcebergTableWithCustomLocation.java index 2f52aad349c4..f5e2730457f4 100644 --- a/plugin/trino-iceberg/src/test/java/io/trino/plugin/iceberg/TestIcebergTableWithCustomLocation.java +++ b/plugin/trino-iceberg/src/test/java/io/trino/plugin/iceberg/TestIcebergTableWithCustomLocation.java @@ -22,7 +22,7 @@ import io.trino.plugin.hive.HiveHdfsConfiguration; import io.trino.plugin.hive.NodeVersion; import io.trino.plugin.hive.authentication.NoHdfsAuthentication; -import io.trino.plugin.hive.metastore.MetastoreConfig; +import io.trino.plugin.hive.metastore.HiveMetastoreConfig; import io.trino.plugin.hive.metastore.Table; import io.trino.plugin.hive.metastore.file.FileHiveMetastore; import io.trino.plugin.hive.metastore.file.FileHiveMetastoreConfig; @@ -75,7 +75,7 @@ protected DistributedQueryRunner createQueryRunner() metastore = new FileHiveMetastore( new NodeVersion("testversion"), hdfsEnvironment, - new MetastoreConfig(), + new HiveMetastoreConfig(), config); return IcebergQueryRunner.builder() diff --git a/plugin/trino-iceberg/src/test/java/io/trino/plugin/iceberg/TestIcebergTableWithExternalLocation.java b/plugin/trino-iceberg/src/test/java/io/trino/plugin/iceberg/TestIcebergTableWithExternalLocation.java index e6377558b28a..4589c0d46667 100644 --- a/plugin/trino-iceberg/src/test/java/io/trino/plugin/iceberg/TestIcebergTableWithExternalLocation.java +++ b/plugin/trino-iceberg/src/test/java/io/trino/plugin/iceberg/TestIcebergTableWithExternalLocation.java @@ -22,7 +22,7 @@ import io.trino.plugin.hive.HiveHdfsConfiguration; import io.trino.plugin.hive.NodeVersion; import io.trino.plugin.hive.authentication.NoHdfsAuthentication; -import io.trino.plugin.hive.metastore.MetastoreConfig; +import io.trino.plugin.hive.metastore.HiveMetastoreConfig; import io.trino.plugin.hive.metastore.Table; import io.trino.plugin.hive.metastore.file.FileHiveMetastore; import io.trino.plugin.hive.metastore.file.FileHiveMetastoreConfig; @@ -73,7 +73,7 @@ protected DistributedQueryRunner createQueryRunner() metastore = new FileHiveMetastore( new NodeVersion("testversion"), hdfsEnvironment, - new MetastoreConfig(), + new HiveMetastoreConfig(), config); return IcebergQueryRunner.builder() diff --git a/plugin/trino-iceberg/src/test/java/io/trino/plugin/iceberg/TestSharedHiveMetastore.java b/plugin/trino-iceberg/src/test/java/io/trino/plugin/iceberg/TestSharedHiveMetastore.java index b72dab0f4394..328625ab1476 100644 --- a/plugin/trino-iceberg/src/test/java/io/trino/plugin/iceberg/TestSharedHiveMetastore.java +++ b/plugin/trino-iceberg/src/test/java/io/trino/plugin/iceberg/TestSharedHiveMetastore.java @@ -25,7 +25,7 @@ import io.trino.plugin.hive.TestingHivePlugin; import io.trino.plugin.hive.authentication.NoHdfsAuthentication; import io.trino.plugin.hive.metastore.HiveMetastore; -import io.trino.plugin.hive.metastore.MetastoreConfig; +import io.trino.plugin.hive.metastore.HiveMetastoreConfig; import io.trino.plugin.hive.metastore.file.FileHiveMetastore; import io.trino.plugin.hive.metastore.file.FileHiveMetastoreConfig; import io.trino.plugin.tpch.TpchPlugin; @@ -89,7 +89,7 @@ protected QueryRunner createQueryRunner() HiveMetastore metastore = new FileHiveMetastore( new NodeVersion("testversion"), hdfsEnvironment, - new MetastoreConfig(), + new HiveMetastoreConfig(), new FileHiveMetastoreConfig() .setCatalogDirectory(dataDirectory.toFile().toURI().toString()) .setMetastoreUser("test")); diff --git a/plugin/trino-iceberg/src/test/java/io/trino/plugin/iceberg/optimizer/TestConnectorPushdownRulesWithIceberg.java b/plugin/trino-iceberg/src/test/java/io/trino/plugin/iceberg/optimizer/TestConnectorPushdownRulesWithIceberg.java index 97e36eac258a..74fb192608ab 100644 --- a/plugin/trino-iceberg/src/test/java/io/trino/plugin/iceberg/optimizer/TestConnectorPushdownRulesWithIceberg.java +++ b/plugin/trino-iceberg/src/test/java/io/trino/plugin/iceberg/optimizer/TestConnectorPushdownRulesWithIceberg.java @@ -30,7 +30,7 @@ import io.trino.plugin.hive.authentication.NoHdfsAuthentication; import io.trino.plugin.hive.metastore.Database; import io.trino.plugin.hive.metastore.HiveMetastore; -import io.trino.plugin.hive.metastore.MetastoreConfig; +import io.trino.plugin.hive.metastore.HiveMetastoreConfig; import io.trino.plugin.hive.metastore.file.FileHiveMetastore; import io.trino.plugin.hive.metastore.file.FileHiveMetastoreConfig; import io.trino.plugin.iceberg.ColumnIdentity; @@ -119,7 +119,7 @@ protected Optional createLocalQueryRunner() metastore = new FileHiveMetastore( new NodeVersion("testversion"), environment, - new MetastoreConfig(), + new HiveMetastoreConfig(), new FileHiveMetastoreConfig() .setCatalogDirectory(baseDir.toURI().toString()) .setMetastoreUser("test")); From 305608afbced41484524037516c37dc2c21d46eb Mon Sep 17 00:00:00 2001 From: Konrad Dziedzic Date: Mon, 30 May 2022 11:15:00 +0200 Subject: [PATCH 2/2] Unbind HiveMetastoreConfig from Iceberg and DeltaLake --- .../plugin/deltalake/DeltaLakeModule.java | 2 -- .../metastore/DeltaLakeMetastoreModule.java | 3 ++ ...estDeltaLakeMetastoreAccessOperations.java | 3 +- .../TestDeltaLakeMetastoreStatistics.java | 3 +- .../plugin/hive/HideDeltaLakeTables.java | 31 +++++++++++++++++++ .../hive/metastore/HiveMetastoreModule.java | 11 +++++++ .../metastore/file/FileHiveMetastore.java | 6 ++-- .../file/FileHiveMetastoreFactory.java | 6 ++-- ...faultGlueMetastoreTableFilterProvider.java | 8 ++--- .../metastore/thrift/ThriftHiveMetastore.java | 11 +++---- .../trino/plugin/hive/AbstractTestHive.java | 2 +- .../hive/AbstractTestHiveFileSystem.java | 2 +- .../plugin/hive/BaseTestHiveOnDataLake.java | 2 +- .../io/trino/plugin/hive/HiveQueryRunner.java | 2 +- .../plugin/hive/TestHiveFileMetastore.java | 4 +-- .../cache/TestCachingHiveMetastore.java | 2 +- .../metastore/glue/TestHiveGlueMetastore.java | 5 +-- .../TestConnectorPushdownRulesWithHive.java | 2 +- .../plugin/hive/optimizer/TestHivePlans.java | 2 +- ...stHiveProjectionPushdownIntoTableScan.java | 2 +- .../plugin/hive/s3/S3HiveQueryRunner.java | 2 +- .../trino/plugin/iceberg/IcebergModule.java | 2 -- .../IcebergFileMetastoreCatalogModule.java | 5 +++ .../IcebergHiveMetastoreCatalogModule.java | 4 +++ .../iceberg/TestIcebergMergeAppend.java | 4 +-- .../iceberg/TestIcebergMetadataListing.java | 4 +-- .../TestIcebergMetastoreAccessOperations.java | 4 +-- .../TestIcebergOrcMetricsCollection.java | 2 +- .../TestIcebergTableWithCustomLocation.java | 4 +-- .../TestIcebergTableWithExternalLocation.java | 4 +-- .../iceberg/TestSharedHiveMetastore.java | 2 +- ...TestConnectorPushdownRulesWithIceberg.java | 4 +-- 32 files changed, 95 insertions(+), 55 deletions(-) create mode 100644 plugin/trino-hive/src/main/java/io/trino/plugin/hive/HideDeltaLakeTables.java diff --git a/plugin/trino-delta-lake/src/main/java/io/trino/plugin/deltalake/DeltaLakeModule.java b/plugin/trino-delta-lake/src/main/java/io/trino/plugin/deltalake/DeltaLakeModule.java index d8381560f85b..25f376aecde5 100644 --- a/plugin/trino-delta-lake/src/main/java/io/trino/plugin/deltalake/DeltaLakeModule.java +++ b/plugin/trino-delta-lake/src/main/java/io/trino/plugin/deltalake/DeltaLakeModule.java @@ -54,7 +54,6 @@ import io.trino.plugin.hive.TransactionalMetadataFactory; import io.trino.plugin.hive.fs.DirectoryLister; import io.trino.plugin.hive.metastore.HiveMetastore; -import io.trino.plugin.hive.metastore.HiveMetastoreConfig; import io.trino.plugin.hive.metastore.SemiTransactionalHiveMetastore; import io.trino.plugin.hive.metastore.thrift.TranslateHiveViews; import io.trino.plugin.hive.parquet.ParquetReaderConfig; @@ -93,7 +92,6 @@ public void setup(Binder binder) configBinder(binder).bindConfig(DeltaLakeConfig.class); configBinder(binder).bindConfig(HiveConfig.class); - binder.bind(HiveMetastoreConfig.class).toInstance(new HiveMetastoreConfig()); // currently not configurable binder.bind(Key.get(boolean.class, TranslateHiveViews.class)).toInstance(false); configBinder(binder).bindConfig(ParquetReaderConfig.class); configBinder(binder).bindConfig(ParquetWriterConfig.class); diff --git a/plugin/trino-delta-lake/src/main/java/io/trino/plugin/deltalake/metastore/DeltaLakeMetastoreModule.java b/plugin/trino-delta-lake/src/main/java/io/trino/plugin/deltalake/metastore/DeltaLakeMetastoreModule.java index 128a339eadc1..b4afa22e5e60 100644 --- a/plugin/trino-delta-lake/src/main/java/io/trino/plugin/deltalake/metastore/DeltaLakeMetastoreModule.java +++ b/plugin/trino-delta-lake/src/main/java/io/trino/plugin/deltalake/metastore/DeltaLakeMetastoreModule.java @@ -14,11 +14,13 @@ package io.trino.plugin.deltalake.metastore; import com.google.inject.Binder; +import com.google.inject.Key; import com.google.inject.Module; import io.airlift.configuration.AbstractConfigurationAwareModule; import io.trino.plugin.deltalake.metastore.file.DeltaLakeFileMetastoreModule; import io.trino.plugin.deltalake.metastore.glue.DeltaLakeGlueMetastoreModule; import io.trino.plugin.deltalake.metastore.thrift.DeltaLakeThriftMetastoreModule; +import io.trino.plugin.hive.HideDeltaLakeTables; import io.trino.plugin.hive.metastore.DecoratedHiveMetastoreModule; import io.trino.plugin.hive.metastore.MetastoreTypeConfig; @@ -30,6 +32,7 @@ public class DeltaLakeMetastoreModule @Override protected void setup(Binder binder) { + binder.bind(Key.get(boolean.class, HideDeltaLakeTables.class)).toInstance(false); bindMetastoreModule("thrift", new DeltaLakeThriftMetastoreModule()); bindMetastoreModule("file", new DeltaLakeFileMetastoreModule()); bindMetastoreModule("glue", new DeltaLakeGlueMetastoreModule()); diff --git a/plugin/trino-delta-lake/src/test/java/io/trino/plugin/deltalake/metastore/TestDeltaLakeMetastoreAccessOperations.java b/plugin/trino-delta-lake/src/test/java/io/trino/plugin/deltalake/metastore/TestDeltaLakeMetastoreAccessOperations.java index 1f9884dc4b58..703622973b3f 100644 --- a/plugin/trino-delta-lake/src/test/java/io/trino/plugin/deltalake/metastore/TestDeltaLakeMetastoreAccessOperations.java +++ b/plugin/trino-delta-lake/src/test/java/io/trino/plugin/deltalake/metastore/TestDeltaLakeMetastoreAccessOperations.java @@ -31,7 +31,6 @@ import io.trino.plugin.hive.authentication.NoHdfsAuthentication; import io.trino.plugin.hive.metastore.CountingAccessHiveMetastore; import io.trino.plugin.hive.metastore.HiveMetastore; -import io.trino.plugin.hive.metastore.HiveMetastoreConfig; import io.trino.plugin.hive.metastore.HiveMetastoreFactory; import io.trino.plugin.hive.metastore.RawHiveMetastoreFactory; import io.trino.plugin.hive.metastore.file.FileHiveMetastore; @@ -79,7 +78,7 @@ protected DistributedQueryRunner createQueryRunner() HiveMetastore hiveMetastore = new FileHiveMetastore( new NodeVersion("testversion"), hdfsEnvironment, - new HiveMetastoreConfig(), + false, new FileHiveMetastoreConfig() .setCatalogDirectory(baseDir.toURI().toString()) .setMetastoreUser("test")); diff --git a/plugin/trino-delta-lake/src/test/java/io/trino/plugin/deltalake/metastore/TestDeltaLakeMetastoreStatistics.java b/plugin/trino-delta-lake/src/test/java/io/trino/plugin/deltalake/metastore/TestDeltaLakeMetastoreStatistics.java index 5858bc18cda9..93e4100d9c4c 100644 --- a/plugin/trino-delta-lake/src/test/java/io/trino/plugin/deltalake/metastore/TestDeltaLakeMetastoreStatistics.java +++ b/plugin/trino-delta-lake/src/test/java/io/trino/plugin/deltalake/metastore/TestDeltaLakeMetastoreStatistics.java @@ -41,7 +41,6 @@ import io.trino.plugin.hive.metastore.Column; import io.trino.plugin.hive.metastore.Database; import io.trino.plugin.hive.metastore.HiveMetastore; -import io.trino.plugin.hive.metastore.HiveMetastoreConfig; import io.trino.plugin.hive.metastore.PrincipalPrivileges; import io.trino.plugin.hive.metastore.Storage; import io.trino.plugin.hive.metastore.StorageFormat; @@ -123,7 +122,7 @@ public void setupMetastore() hiveMetastore = new FileHiveMetastore( new NodeVersion("test_version"), hdfsEnvironment, - new HiveMetastoreConfig(), + false, new FileHiveMetastoreConfig() .setCatalogDirectory(metastoreDir.toURI().toString()) .setMetastoreUser("test")); diff --git a/plugin/trino-hive/src/main/java/io/trino/plugin/hive/HideDeltaLakeTables.java b/plugin/trino-hive/src/main/java/io/trino/plugin/hive/HideDeltaLakeTables.java new file mode 100644 index 000000000000..0db1a6f4a7b1 --- /dev/null +++ b/plugin/trino-hive/src/main/java/io/trino/plugin/hive/HideDeltaLakeTables.java @@ -0,0 +1,31 @@ +/* + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.trino.plugin.hive; + +import javax.inject.Qualifier; + +import java.lang.annotation.Retention; +import java.lang.annotation.Target; + +import static java.lang.annotation.ElementType.FIELD; +import static java.lang.annotation.ElementType.METHOD; +import static java.lang.annotation.ElementType.PARAMETER; +import static java.lang.annotation.RetentionPolicy.RUNTIME; + +@Retention(RUNTIME) +@Target({FIELD, PARAMETER, METHOD}) +@Qualifier +public @interface HideDeltaLakeTables +{ +} diff --git a/plugin/trino-hive/src/main/java/io/trino/plugin/hive/metastore/HiveMetastoreModule.java b/plugin/trino-hive/src/main/java/io/trino/plugin/hive/metastore/HiveMetastoreModule.java index ee5aaf6a9566..c8b58145f16c 100644 --- a/plugin/trino-hive/src/main/java/io/trino/plugin/hive/metastore/HiveMetastoreModule.java +++ b/plugin/trino-hive/src/main/java/io/trino/plugin/hive/metastore/HiveMetastoreModule.java @@ -15,7 +15,10 @@ import com.google.inject.Binder; import com.google.inject.Module; +import com.google.inject.Provides; +import com.google.inject.Singleton; import io.airlift.configuration.AbstractConfigurationAwareModule; +import io.trino.plugin.hive.HideDeltaLakeTables; import io.trino.plugin.hive.metastore.file.FileMetastoreModule; import io.trino.plugin.hive.metastore.glue.GlueMetastoreModule; import io.trino.plugin.hive.metastore.thrift.ThriftMetastoreModule; @@ -80,4 +83,12 @@ protected void setup(Binder binder) } }; } + + @HideDeltaLakeTables + @Singleton + @Provides + public boolean hideDeltaLakeTables(HiveMetastoreConfig hiveMetastoreConfig) + { + return hiveMetastoreConfig.isHideDeltaLakeTables(); + } } diff --git a/plugin/trino-hive/src/main/java/io/trino/plugin/hive/metastore/file/FileHiveMetastore.java b/plugin/trino-hive/src/main/java/io/trino/plugin/hive/metastore/file/FileHiveMetastore.java index f7b1f2dd16f2..3026720e5be8 100644 --- a/plugin/trino-hive/src/main/java/io/trino/plugin/hive/metastore/file/FileHiveMetastore.java +++ b/plugin/trino-hive/src/main/java/io/trino/plugin/hive/metastore/file/FileHiveMetastore.java @@ -165,13 +165,13 @@ public static FileHiveMetastore createTestingFileHiveMetastore(File catalogDirec return new FileHiveMetastore( new NodeVersion("testversion"), hdfsEnvironment, - new HiveMetastoreConfig(), + new HiveMetastoreConfig().isHideDeltaLakeTables(), new FileHiveMetastoreConfig() .setCatalogDirectory(catalogDirectory.toURI().toString()) .setMetastoreUser("test")); } - public FileHiveMetastore(NodeVersion nodeVersion, HdfsEnvironment hdfsEnvironment, HiveMetastoreConfig hiveMetastoreConfig, FileHiveMetastoreConfig config) + public FileHiveMetastore(NodeVersion nodeVersion, HdfsEnvironment hdfsEnvironment, boolean hideDeltaLakeTables, FileHiveMetastoreConfig config) { this.currentVersion = requireNonNull(nodeVersion, "nodeVersion is null").toString(); requireNonNull(config, "config is null"); @@ -179,7 +179,7 @@ public FileHiveMetastore(NodeVersion nodeVersion, HdfsEnvironment hdfsEnvironmen this.hdfsEnvironment = requireNonNull(hdfsEnvironment, "hdfsEnvironment is null"); this.catalogDirectory = new Path(requireNonNull(config.getCatalogDirectory(), "catalogDirectory is null")); this.hdfsContext = new HdfsContext(ConnectorIdentity.ofUser(config.getMetastoreUser())); - this.hideDeltaLakeTables = requireNonNull(hiveMetastoreConfig, "hiveMetastoreConfig is null").isHideDeltaLakeTables(); + this.hideDeltaLakeTables = hideDeltaLakeTables; try { metadataFileSystem = hdfsEnvironment.getFileSystem(hdfsContext, this.catalogDirectory); } diff --git a/plugin/trino-hive/src/main/java/io/trino/plugin/hive/metastore/file/FileHiveMetastoreFactory.java b/plugin/trino-hive/src/main/java/io/trino/plugin/hive/metastore/file/FileHiveMetastoreFactory.java index 871b399ea69f..56ce940a2b4a 100644 --- a/plugin/trino-hive/src/main/java/io/trino/plugin/hive/metastore/file/FileHiveMetastoreFactory.java +++ b/plugin/trino-hive/src/main/java/io/trino/plugin/hive/metastore/file/FileHiveMetastoreFactory.java @@ -14,9 +14,9 @@ package io.trino.plugin.hive.metastore.file; import io.trino.plugin.hive.HdfsEnvironment; +import io.trino.plugin.hive.HideDeltaLakeTables; import io.trino.plugin.hive.NodeVersion; import io.trino.plugin.hive.metastore.HiveMetastore; -import io.trino.plugin.hive.metastore.HiveMetastoreConfig; import io.trino.plugin.hive.metastore.HiveMetastoreFactory; import io.trino.spi.security.ConnectorIdentity; @@ -30,10 +30,10 @@ public class FileHiveMetastoreFactory private final FileHiveMetastore metastore; @Inject - public FileHiveMetastoreFactory(NodeVersion nodeVersion, HdfsEnvironment hdfsEnvironment, HiveMetastoreConfig hiveMetastoreConfig, FileHiveMetastoreConfig config) + public FileHiveMetastoreFactory(NodeVersion nodeVersion, HdfsEnvironment hdfsEnvironment, @HideDeltaLakeTables boolean hideDeltaLakeTables, FileHiveMetastoreConfig config) { // file metastore does not support impersonation, so just create a single shared instance - metastore = new FileHiveMetastore(nodeVersion, hdfsEnvironment, hiveMetastoreConfig, config); + metastore = new FileHiveMetastore(nodeVersion, hdfsEnvironment, hideDeltaLakeTables, config); } @Override diff --git a/plugin/trino-hive/src/main/java/io/trino/plugin/hive/metastore/glue/DefaultGlueMetastoreTableFilterProvider.java b/plugin/trino-hive/src/main/java/io/trino/plugin/hive/metastore/glue/DefaultGlueMetastoreTableFilterProvider.java index 1908c122d8f7..63ef87298ec3 100644 --- a/plugin/trino-hive/src/main/java/io/trino/plugin/hive/metastore/glue/DefaultGlueMetastoreTableFilterProvider.java +++ b/plugin/trino-hive/src/main/java/io/trino/plugin/hive/metastore/glue/DefaultGlueMetastoreTableFilterProvider.java @@ -14,7 +14,7 @@ package io.trino.plugin.hive.metastore.glue; import com.amazonaws.services.glue.model.Table; -import io.trino.plugin.hive.metastore.HiveMetastoreConfig; +import io.trino.plugin.hive.HideDeltaLakeTables; import javax.inject.Inject; import javax.inject.Provider; @@ -25,7 +25,6 @@ import static com.google.common.base.MoreObjects.firstNonNull; import static io.trino.plugin.hive.util.HiveUtil.DELTA_LAKE_PROVIDER; import static io.trino.plugin.hive.util.HiveUtil.SPARK_TABLE_PROVIDER_KEY; -import static java.util.Objects.requireNonNull; import static java.util.function.Predicate.not; public class DefaultGlueMetastoreTableFilterProvider @@ -34,10 +33,9 @@ public class DefaultGlueMetastoreTableFilterProvider private final boolean hideDeltaLakeTables; @Inject - public DefaultGlueMetastoreTableFilterProvider(HiveMetastoreConfig hiveMetastoreConfig) + public DefaultGlueMetastoreTableFilterProvider(@HideDeltaLakeTables boolean hideDeltaLakeTables) { - requireNonNull(hiveMetastoreConfig, "hiveMetastoreConfig is null"); - this.hideDeltaLakeTables = hiveMetastoreConfig.isHideDeltaLakeTables(); + this.hideDeltaLakeTables = hideDeltaLakeTables; } @Override diff --git a/plugin/trino-hive/src/main/java/io/trino/plugin/hive/metastore/thrift/ThriftHiveMetastore.java b/plugin/trino-hive/src/main/java/io/trino/plugin/hive/metastore/thrift/ThriftHiveMetastore.java index 6933b0fabddf..fa2ec5fd8398 100644 --- a/plugin/trino-hive/src/main/java/io/trino/plugin/hive/metastore/thrift/ThriftHiveMetastore.java +++ b/plugin/trino-hive/src/main/java/io/trino/plugin/hive/metastore/thrift/ThriftHiveMetastore.java @@ -24,6 +24,7 @@ import io.trino.collect.cache.NonEvictableLoadingCache; import io.trino.plugin.hive.HdfsEnvironment; import io.trino.plugin.hive.HdfsEnvironment.HdfsContext; +import io.trino.plugin.hive.HideDeltaLakeTables; import io.trino.plugin.hive.HiveBasicStatistics; import io.trino.plugin.hive.HivePartition; import io.trino.plugin.hive.HiveType; @@ -37,7 +38,6 @@ import io.trino.plugin.hive.metastore.AcidTransactionOwner; import io.trino.plugin.hive.metastore.Column; import io.trino.plugin.hive.metastore.HiveColumnStatistics; -import io.trino.plugin.hive.metastore.HiveMetastoreConfig; import io.trino.plugin.hive.metastore.HivePrincipal; import io.trino.plugin.hive.metastore.HivePrivilegeInfo; import io.trino.plugin.hive.metastore.HivePrivilegeInfo.HivePrivilege; @@ -196,7 +196,7 @@ public class ThriftHiveMetastore @Inject public ThriftHiveMetastore( MetastoreLocator metastoreLocator, - HiveMetastoreConfig hiveMetastoreConfig, + @HideDeltaLakeTables boolean hideDeltaLakeTables, @TranslateHiveViews boolean translateHiveViews, ThriftMetastoreConfig thriftConfig, ThriftMetastoreAuthenticationConfig authenticationConfig, @@ -204,7 +204,7 @@ public ThriftHiveMetastore( { this( metastoreLocator, - hiveMetastoreConfig, + hideDeltaLakeTables, translateHiveViews, thriftConfig, hdfsEnvironment, @@ -213,7 +213,7 @@ public ThriftHiveMetastore( public ThriftHiveMetastore( MetastoreLocator metastoreLocator, - HiveMetastoreConfig hiveMetastoreConfig, + boolean hideDeltaLakeTables, boolean translateHiveViews, ThriftMetastoreConfig thriftConfig, HdfsEnvironment hdfsEnvironment, @@ -230,8 +230,7 @@ public ThriftHiveMetastore( this.impersonationEnabled = thriftConfig.isImpersonationEnabled(); this.deleteFilesOnDrop = thriftConfig.isDeleteFilesOnDrop(); this.translateHiveViews = translateHiveViews; - requireNonNull(hiveMetastoreConfig, "metastoreConfig is null"); - checkArgument(!hiveMetastoreConfig.isHideDeltaLakeTables(), "Hiding Delta Lake tables is not supported"); // TODO + checkArgument(!hideDeltaLakeTables, "Hiding Delta Lake tables is not supported"); // TODO this.maxWaitForLock = thriftConfig.getMaxWaitForTransactionLock(); this.authenticationEnabled = authenticationEnabled; diff --git a/plugin/trino-hive/src/test/java/io/trino/plugin/hive/AbstractTestHive.java b/plugin/trino-hive/src/test/java/io/trino/plugin/hive/AbstractTestHive.java index 065af341b1c7..62624df980b2 100644 --- a/plugin/trino-hive/src/test/java/io/trino/plugin/hive/AbstractTestHive.java +++ b/plugin/trino-hive/src/test/java/io/trino/plugin/hive/AbstractTestHive.java @@ -791,7 +791,7 @@ protected final void setup(String host, int port, String databaseName, String ti HiveMetastore metastore = cachingHiveMetastore( new BridgingHiveMetastore(new ThriftHiveMetastore( metastoreLocator, - new HiveMetastoreConfig(), + new HiveMetastoreConfig().isHideDeltaLakeTables(), new HiveConfig().isTranslateHiveViews(), new ThriftMetastoreConfig(), hdfsEnvironment, diff --git a/plugin/trino-hive/src/test/java/io/trino/plugin/hive/AbstractTestHiveFileSystem.java b/plugin/trino-hive/src/test/java/io/trino/plugin/hive/AbstractTestHiveFileSystem.java index 6a5d3b2aea40..e9e9356fde86 100644 --- a/plugin/trino-hive/src/test/java/io/trino/plugin/hive/AbstractTestHiveFileSystem.java +++ b/plugin/trino-hive/src/test/java/io/trino/plugin/hive/AbstractTestHiveFileSystem.java @@ -190,7 +190,7 @@ protected void setup(String host, int port, String databaseName, boolean s3Selec new BridgingHiveMetastore( new ThriftHiveMetastore( metastoreLocator, - hiveMetastoreConfig, + hiveMetastoreConfig.isHideDeltaLakeTables(), new HiveConfig().isTranslateHiveViews(), new ThriftMetastoreConfig(), hdfsEnvironment, diff --git a/plugin/trino-hive/src/test/java/io/trino/plugin/hive/BaseTestHiveOnDataLake.java b/plugin/trino-hive/src/test/java/io/trino/plugin/hive/BaseTestHiveOnDataLake.java index 3a0c87b4c1b8..4d08fab1b6e1 100644 --- a/plugin/trino-hive/src/test/java/io/trino/plugin/hive/BaseTestHiveOnDataLake.java +++ b/plugin/trino-hive/src/test/java/io/trino/plugin/hive/BaseTestHiveOnDataLake.java @@ -80,7 +80,7 @@ protected QueryRunner createQueryRunner() new TestingMetastoreLocator( Optional.empty(), this.dockerizedS3DataLake.getHiveHadoop().getHiveMetastoreEndpoint()), - new HiveMetastoreConfig(), + new HiveMetastoreConfig().isHideDeltaLakeTables(), new HiveConfig().isTranslateHiveViews(), new ThriftMetastoreConfig(), new HdfsEnvironment(new HiveHdfsConfiguration( diff --git a/plugin/trino-hive/src/test/java/io/trino/plugin/hive/HiveQueryRunner.java b/plugin/trino-hive/src/test/java/io/trino/plugin/hive/HiveQueryRunner.java index 479d444e4d43..ea02b4db2e3a 100644 --- a/plugin/trino-hive/src/test/java/io/trino/plugin/hive/HiveQueryRunner.java +++ b/plugin/trino-hive/src/test/java/io/trino/plugin/hive/HiveQueryRunner.java @@ -108,7 +108,7 @@ public static class Builder> return new FileHiveMetastore( new NodeVersion("test_version"), HDFS_ENVIRONMENT, - new HiveMetastoreConfig(), + new HiveMetastoreConfig().isHideDeltaLakeTables(), new FileHiveMetastoreConfig() .setCatalogDirectory(baseDir.toURI().toString()) .setMetastoreUser("test")); diff --git a/plugin/trino-hive/src/test/java/io/trino/plugin/hive/TestHiveFileMetastore.java b/plugin/trino-hive/src/test/java/io/trino/plugin/hive/TestHiveFileMetastore.java index 1014776b980e..2a49be29068a 100644 --- a/plugin/trino-hive/src/test/java/io/trino/plugin/hive/TestHiveFileMetastore.java +++ b/plugin/trino-hive/src/test/java/io/trino/plugin/hive/TestHiveFileMetastore.java @@ -15,7 +15,6 @@ import io.trino.plugin.hive.authentication.HiveIdentity; import io.trino.plugin.hive.metastore.HiveMetastore; -import io.trino.plugin.hive.metastore.HiveMetastoreConfig; import io.trino.plugin.hive.metastore.file.FileHiveMetastore; import io.trino.plugin.hive.metastore.file.FileHiveMetastoreConfig; import org.testng.SkipException; @@ -37,8 +36,7 @@ protected HiveMetastore createMetastore(File tempDir, HiveIdentity identity) return new FileHiveMetastore( new NodeVersion("test_version"), HDFS_ENVIRONMENT, - new HiveMetastoreConfig() - .setHideDeltaLakeTables(true), + true, new FileHiveMetastoreConfig() .setCatalogDirectory(baseDir.toURI().toString()) .setMetastoreUser("test")); diff --git a/plugin/trino-hive/src/test/java/io/trino/plugin/hive/metastore/cache/TestCachingHiveMetastore.java b/plugin/trino-hive/src/test/java/io/trino/plugin/hive/metastore/cache/TestCachingHiveMetastore.java index 4ab7075a328c..b122e959e130 100644 --- a/plugin/trino-hive/src/test/java/io/trino/plugin/hive/metastore/cache/TestCachingHiveMetastore.java +++ b/plugin/trino-hive/src/test/java/io/trino/plugin/hive/metastore/cache/TestCachingHiveMetastore.java @@ -154,7 +154,7 @@ private ThriftHiveMetastore createThriftHiveMetastore() private static ThriftHiveMetastore createThriftHiveMetastore(ThriftMetastoreClient client) { MetastoreLocator metastoreLocator = new MockMetastoreLocator(client); - return new ThriftHiveMetastore(metastoreLocator, new HiveMetastoreConfig(), new HiveConfig().isTranslateHiveViews(), new ThriftMetastoreConfig(), HDFS_ENVIRONMENT, false); + return new ThriftHiveMetastore(metastoreLocator, new HiveMetastoreConfig().isHideDeltaLakeTables(), new HiveConfig().isTranslateHiveViews(), new ThriftMetastoreConfig(), HDFS_ENVIRONMENT, false); } @Test diff --git a/plugin/trino-hive/src/test/java/io/trino/plugin/hive/metastore/glue/TestHiveGlueMetastore.java b/plugin/trino-hive/src/test/java/io/trino/plugin/hive/metastore/glue/TestHiveGlueMetastore.java index 325bffa802ce..c1f6bc05bcaf 100644 --- a/plugin/trino-hive/src/test/java/io/trino/plugin/hive/metastore/glue/TestHiveGlueMetastore.java +++ b/plugin/trino-hive/src/test/java/io/trino/plugin/hive/metastore/glue/TestHiveGlueMetastore.java @@ -38,7 +38,6 @@ import io.trino.plugin.hive.authentication.HiveIdentity; import io.trino.plugin.hive.metastore.HiveColumnStatistics; import io.trino.plugin.hive.metastore.HiveMetastore; -import io.trino.plugin.hive.metastore.HiveMetastoreConfig; import io.trino.plugin.hive.metastore.PartitionWithStatistics; import io.trino.plugin.hive.metastore.Table; import io.trino.plugin.hive.metastore.glue.converter.GlueInputConverter; @@ -223,9 +222,7 @@ protected HiveMetastore createMetastore(File tempDir, HiveIdentity identity) executor, new DefaultGlueColumnStatisticsProviderFactory(executor, executor), Optional.empty(), - new DefaultGlueMetastoreTableFilterProvider( - new HiveMetastoreConfig() - .setHideDeltaLakeTables(true)).get()); + new DefaultGlueMetastoreTableFilterProvider(true).get()); } @Test diff --git a/plugin/trino-hive/src/test/java/io/trino/plugin/hive/optimizer/TestConnectorPushdownRulesWithHive.java b/plugin/trino-hive/src/test/java/io/trino/plugin/hive/optimizer/TestConnectorPushdownRulesWithHive.java index 998ee3f9af94..fb931eb4a150 100644 --- a/plugin/trino-hive/src/test/java/io/trino/plugin/hive/optimizer/TestConnectorPushdownRulesWithHive.java +++ b/plugin/trino-hive/src/test/java/io/trino/plugin/hive/optimizer/TestConnectorPushdownRulesWithHive.java @@ -111,7 +111,7 @@ protected Optional createLocalQueryRunner() metastore = new FileHiveMetastore( new NodeVersion("test_version"), environment, - new HiveMetastoreConfig(), + new HiveMetastoreConfig().isHideDeltaLakeTables(), new FileHiveMetastoreConfig() .setCatalogDirectory(baseDir.toURI().toString()) .setMetastoreUser("test")); diff --git a/plugin/trino-hive/src/test/java/io/trino/plugin/hive/optimizer/TestHivePlans.java b/plugin/trino-hive/src/test/java/io/trino/plugin/hive/optimizer/TestHivePlans.java index 85916e44d84d..6ee50a8f6dfc 100644 --- a/plugin/trino-hive/src/test/java/io/trino/plugin/hive/optimizer/TestHivePlans.java +++ b/plugin/trino-hive/src/test/java/io/trino/plugin/hive/optimizer/TestHivePlans.java @@ -89,7 +89,7 @@ protected LocalQueryRunner createLocalQueryRunner() HiveMetastore metastore = new FileHiveMetastore( new NodeVersion("test_version"), environment, - new HiveMetastoreConfig(), + new HiveMetastoreConfig().isHideDeltaLakeTables(), new FileHiveMetastoreConfig() .setCatalogDirectory(baseDir.toURI().toString()) .setMetastoreUser("test")); diff --git a/plugin/trino-hive/src/test/java/io/trino/plugin/hive/optimizer/TestHiveProjectionPushdownIntoTableScan.java b/plugin/trino-hive/src/test/java/io/trino/plugin/hive/optimizer/TestHiveProjectionPushdownIntoTableScan.java index 729dcb6f2439..fa68309f927a 100644 --- a/plugin/trino-hive/src/test/java/io/trino/plugin/hive/optimizer/TestHiveProjectionPushdownIntoTableScan.java +++ b/plugin/trino-hive/src/test/java/io/trino/plugin/hive/optimizer/TestHiveProjectionPushdownIntoTableScan.java @@ -89,7 +89,7 @@ protected LocalQueryRunner createLocalQueryRunner() HiveMetastore metastore = new FileHiveMetastore( new NodeVersion("test_version"), environment, - new HiveMetastoreConfig(), + new HiveMetastoreConfig().isHideDeltaLakeTables(), new FileHiveMetastoreConfig() .setCatalogDirectory(baseDir.toURI().toString()) .setMetastoreUser("test")); diff --git a/plugin/trino-hive/src/test/java/io/trino/plugin/hive/s3/S3HiveQueryRunner.java b/plugin/trino-hive/src/test/java/io/trino/plugin/hive/s3/S3HiveQueryRunner.java index 7e3056e2ebbf..7e903d163c50 100644 --- a/plugin/trino-hive/src/test/java/io/trino/plugin/hive/s3/S3HiveQueryRunner.java +++ b/plugin/trino-hive/src/test/java/io/trino/plugin/hive/s3/S3HiveQueryRunner.java @@ -156,7 +156,7 @@ public DistributedQueryRunner build() Optional.empty(), hiveMetastoreEndpoint, metastoreTimeout), - new HiveMetastoreConfig(), + new HiveMetastoreConfig().isHideDeltaLakeTables(), new HiveConfig().isTranslateHiveViews(), new ThriftMetastoreConfig(), new HdfsEnvironment(new HiveHdfsConfiguration( diff --git a/plugin/trino-iceberg/src/main/java/io/trino/plugin/iceberg/IcebergModule.java b/plugin/trino-iceberg/src/main/java/io/trino/plugin/iceberg/IcebergModule.java index ce14567fe327..6ec52f71ace0 100644 --- a/plugin/trino-iceberg/src/main/java/io/trino/plugin/iceberg/IcebergModule.java +++ b/plugin/trino-iceberg/src/main/java/io/trino/plugin/iceberg/IcebergModule.java @@ -19,7 +19,6 @@ import com.google.inject.multibindings.Multibinder; import io.trino.plugin.base.session.SessionPropertiesProvider; import io.trino.plugin.hive.FileFormatDataSourceStats; -import io.trino.plugin.hive.metastore.HiveMetastoreConfig; import io.trino.plugin.hive.orc.OrcReaderConfig; import io.trino.plugin.hive.orc.OrcWriterConfig; import io.trino.plugin.hive.parquet.ParquetReaderConfig; @@ -48,7 +47,6 @@ public void configure(Binder binder) { binder.bind(IcebergTransactionManager.class).in(Scopes.SINGLETON); configBinder(binder).bindConfig(IcebergConfig.class); - configBinder(binder).bindConfig(HiveMetastoreConfig.class); newSetBinder(binder, SessionPropertiesProvider.class).addBinding().to(IcebergSessionProperties.class).in(Scopes.SINGLETON); binder.bind(IcebergTableProperties.class).in(Scopes.SINGLETON); diff --git a/plugin/trino-iceberg/src/main/java/io/trino/plugin/iceberg/catalog/file/IcebergFileMetastoreCatalogModule.java b/plugin/trino-iceberg/src/main/java/io/trino/plugin/iceberg/catalog/file/IcebergFileMetastoreCatalogModule.java index d366ad8b994f..9a968f0943f9 100644 --- a/plugin/trino-iceberg/src/main/java/io/trino/plugin/iceberg/catalog/file/IcebergFileMetastoreCatalogModule.java +++ b/plugin/trino-iceberg/src/main/java/io/trino/plugin/iceberg/catalog/file/IcebergFileMetastoreCatalogModule.java @@ -14,8 +14,10 @@ package io.trino.plugin.iceberg.catalog.file; import com.google.inject.Binder; +import com.google.inject.Key; import com.google.inject.Scopes; import io.airlift.configuration.AbstractConfigurationAwareModule; +import io.trino.plugin.hive.HideDeltaLakeTables; import io.trino.plugin.hive.metastore.DecoratedHiveMetastoreModule; import io.trino.plugin.hive.metastore.file.FileMetastoreModule; import io.trino.plugin.iceberg.catalog.IcebergCatalogModule.MetastoreValidator; @@ -23,6 +25,8 @@ import io.trino.plugin.iceberg.catalog.TrinoCatalogFactory; import io.trino.plugin.iceberg.catalog.hms.TrinoHiveCatalogFactory; +import static io.trino.plugin.iceberg.catalog.hms.IcebergHiveMetastoreCatalogModule.HIDE_DELTA_LAKE_TABLES_IN_ICEBERG; + public class IcebergFileMetastoreCatalogModule extends AbstractConfigurationAwareModule { @@ -33,6 +37,7 @@ protected void setup(Binder binder) binder.bind(IcebergTableOperationsProvider.class).to(FileMetastoreTableOperationsProvider.class).in(Scopes.SINGLETON); binder.bind(TrinoCatalogFactory.class).to(TrinoHiveCatalogFactory.class).in(Scopes.SINGLETON); binder.bind(MetastoreValidator.class).asEagerSingleton(); + binder.bind(Key.get(boolean.class, HideDeltaLakeTables.class)).toInstance(HIDE_DELTA_LAKE_TABLES_IN_ICEBERG); install(new DecoratedHiveMetastoreModule()); } } diff --git a/plugin/trino-iceberg/src/main/java/io/trino/plugin/iceberg/catalog/hms/IcebergHiveMetastoreCatalogModule.java b/plugin/trino-iceberg/src/main/java/io/trino/plugin/iceberg/catalog/hms/IcebergHiveMetastoreCatalogModule.java index ea23d0f103f1..fb1b23645f7f 100644 --- a/plugin/trino-iceberg/src/main/java/io/trino/plugin/iceberg/catalog/hms/IcebergHiveMetastoreCatalogModule.java +++ b/plugin/trino-iceberg/src/main/java/io/trino/plugin/iceberg/catalog/hms/IcebergHiveMetastoreCatalogModule.java @@ -17,6 +17,7 @@ import com.google.inject.Key; import com.google.inject.Scopes; import io.airlift.configuration.AbstractConfigurationAwareModule; +import io.trino.plugin.hive.HideDeltaLakeTables; import io.trino.plugin.hive.metastore.DecoratedHiveMetastoreModule; import io.trino.plugin.hive.metastore.thrift.ThriftMetastoreModule; import io.trino.plugin.hive.metastore.thrift.TranslateHiveViews; @@ -27,6 +28,8 @@ public class IcebergHiveMetastoreCatalogModule extends AbstractConfigurationAwareModule { + public static final boolean HIDE_DELTA_LAKE_TABLES_IN_ICEBERG = false; + @Override protected void setup(Binder binder) { @@ -35,6 +38,7 @@ protected void setup(Binder binder) binder.bind(TrinoCatalogFactory.class).to(TrinoHiveCatalogFactory.class).in(Scopes.SINGLETON); binder.bind(MetastoreValidator.class).asEagerSingleton(); binder.bind(Key.get(boolean.class, TranslateHiveViews.class)).toInstance(false); + binder.bind(Key.get(boolean.class, HideDeltaLakeTables.class)).toInstance(HIDE_DELTA_LAKE_TABLES_IN_ICEBERG); install(new DecoratedHiveMetastoreModule()); } } diff --git a/plugin/trino-iceberg/src/test/java/io/trino/plugin/iceberg/TestIcebergMergeAppend.java b/plugin/trino-iceberg/src/test/java/io/trino/plugin/iceberg/TestIcebergMergeAppend.java index e72948011d9a..b97042bcf95a 100644 --- a/plugin/trino-iceberg/src/test/java/io/trino/plugin/iceberg/TestIcebergMergeAppend.java +++ b/plugin/trino-iceberg/src/test/java/io/trino/plugin/iceberg/TestIcebergMergeAppend.java @@ -23,7 +23,6 @@ import io.trino.plugin.hive.NodeVersion; import io.trino.plugin.hive.authentication.NoHdfsAuthentication; import io.trino.plugin.hive.metastore.HiveMetastore; -import io.trino.plugin.hive.metastore.HiveMetastoreConfig; import io.trino.plugin.hive.metastore.file.FileHiveMetastore; import io.trino.plugin.hive.metastore.file.FileHiveMetastoreConfig; import io.trino.plugin.iceberg.catalog.IcebergTableOperationsProvider; @@ -43,6 +42,7 @@ import java.io.File; import static io.trino.plugin.hive.metastore.cache.CachingHiveMetastore.memoizeMetastore; +import static io.trino.plugin.iceberg.catalog.hms.IcebergHiveMetastoreCatalogModule.HIDE_DELTA_LAKE_TABLES_IN_ICEBERG; import static org.testng.Assert.assertEquals; public class TestIcebergMergeAppend @@ -63,7 +63,7 @@ protected QueryRunner createQueryRunner() throws Exception HiveMetastore metastore = new FileHiveMetastore( new NodeVersion("testversion"), hdfsEnvironment, - new HiveMetastoreConfig(), + HIDE_DELTA_LAKE_TABLES_IN_ICEBERG, new FileHiveMetastoreConfig() .setCatalogDirectory(baseDir.toURI().toString()) .setMetastoreUser("test")); diff --git a/plugin/trino-iceberg/src/test/java/io/trino/plugin/iceberg/TestIcebergMetadataListing.java b/plugin/trino-iceberg/src/test/java/io/trino/plugin/iceberg/TestIcebergMetadataListing.java index 2f304965ead1..d4a320adfa7a 100644 --- a/plugin/trino-iceberg/src/test/java/io/trino/plugin/iceberg/TestIcebergMetadataListing.java +++ b/plugin/trino-iceberg/src/test/java/io/trino/plugin/iceberg/TestIcebergMetadataListing.java @@ -27,7 +27,6 @@ import io.trino.plugin.hive.TestingHivePlugin; import io.trino.plugin.hive.authentication.NoHdfsAuthentication; import io.trino.plugin.hive.metastore.HiveMetastore; -import io.trino.plugin.hive.metastore.HiveMetastoreConfig; import io.trino.plugin.hive.metastore.file.FileHiveMetastore; import io.trino.plugin.hive.metastore.file.FileHiveMetastoreConfig; import io.trino.spi.connector.SchemaTableName; @@ -45,6 +44,7 @@ import java.util.Optional; import static com.google.inject.util.Modules.EMPTY_MODULE; +import static io.trino.plugin.iceberg.catalog.hms.IcebergHiveMetastoreCatalogModule.HIDE_DELTA_LAKE_TABLES_IN_ICEBERG; import static io.trino.spi.security.SelectedRole.Type.ROLE; import static io.trino.testing.TestingSession.testSessionBuilder; import static org.assertj.core.api.Assertions.assertThat; @@ -75,7 +75,7 @@ protected DistributedQueryRunner createQueryRunner() metastore = new FileHiveMetastore( new NodeVersion("test_version"), hdfsEnvironment, - new HiveMetastoreConfig(), + HIDE_DELTA_LAKE_TABLES_IN_ICEBERG, new FileHiveMetastoreConfig() .setCatalogDirectory(baseDir.toURI().toString()) .setMetastoreUser("test")); diff --git a/plugin/trino-iceberg/src/test/java/io/trino/plugin/iceberg/TestIcebergMetastoreAccessOperations.java b/plugin/trino-iceberg/src/test/java/io/trino/plugin/iceberg/TestIcebergMetastoreAccessOperations.java index 104510c753cf..507ed6f4c64c 100644 --- a/plugin/trino-iceberg/src/test/java/io/trino/plugin/iceberg/TestIcebergMetastoreAccessOperations.java +++ b/plugin/trino-iceberg/src/test/java/io/trino/plugin/iceberg/TestIcebergMetastoreAccessOperations.java @@ -27,7 +27,6 @@ import io.trino.plugin.hive.authentication.NoHdfsAuthentication; import io.trino.plugin.hive.metastore.CountingAccessHiveMetastore; import io.trino.plugin.hive.metastore.HiveMetastore; -import io.trino.plugin.hive.metastore.HiveMetastoreConfig; import io.trino.plugin.hive.metastore.file.FileHiveMetastore; import io.trino.plugin.hive.metastore.file.FileHiveMetastoreConfig; import io.trino.testing.AbstractTestQueryFramework; @@ -52,6 +51,7 @@ import static io.trino.plugin.iceberg.TableType.PARTITIONS; import static io.trino.plugin.iceberg.TableType.PROPERTIES; import static io.trino.plugin.iceberg.TableType.SNAPSHOTS; +import static io.trino.plugin.iceberg.catalog.hms.IcebergHiveMetastoreCatalogModule.HIDE_DELTA_LAKE_TABLES_IN_ICEBERG; import static io.trino.testing.TestingSession.testSessionBuilder; import static java.lang.String.format; import static java.lang.String.join; @@ -82,7 +82,7 @@ protected DistributedQueryRunner createQueryRunner() HiveMetastore hiveMetastore = new FileHiveMetastore( new NodeVersion("testversion"), hdfsEnvironment, - new HiveMetastoreConfig(), + HIDE_DELTA_LAKE_TABLES_IN_ICEBERG, new FileHiveMetastoreConfig() .setCatalogDirectory(baseDir.toURI().toString()) .setMetastoreUser("test")); diff --git a/plugin/trino-iceberg/src/test/java/io/trino/plugin/iceberg/TestIcebergOrcMetricsCollection.java b/plugin/trino-iceberg/src/test/java/io/trino/plugin/iceberg/TestIcebergOrcMetricsCollection.java index 9d5e2af3b5d7..e82219cfefa2 100644 --- a/plugin/trino-iceberg/src/test/java/io/trino/plugin/iceberg/TestIcebergOrcMetricsCollection.java +++ b/plugin/trino-iceberg/src/test/java/io/trino/plugin/iceberg/TestIcebergOrcMetricsCollection.java @@ -90,7 +90,7 @@ protected QueryRunner createQueryRunner() HiveMetastore metastore = new FileHiveMetastore( new NodeVersion("test_version"), hdfsEnvironment, - new HiveMetastoreConfig(), + new HiveMetastoreConfig().isHideDeltaLakeTables(), new FileHiveMetastoreConfig() .setCatalogDirectory(baseDir.toURI().toString()) .setMetastoreUser("test")); diff --git a/plugin/trino-iceberg/src/test/java/io/trino/plugin/iceberg/TestIcebergTableWithCustomLocation.java b/plugin/trino-iceberg/src/test/java/io/trino/plugin/iceberg/TestIcebergTableWithCustomLocation.java index f5e2730457f4..e821579f07aa 100644 --- a/plugin/trino-iceberg/src/test/java/io/trino/plugin/iceberg/TestIcebergTableWithCustomLocation.java +++ b/plugin/trino-iceberg/src/test/java/io/trino/plugin/iceberg/TestIcebergTableWithCustomLocation.java @@ -22,7 +22,6 @@ import io.trino.plugin.hive.HiveHdfsConfiguration; import io.trino.plugin.hive.NodeVersion; import io.trino.plugin.hive.authentication.NoHdfsAuthentication; -import io.trino.plugin.hive.metastore.HiveMetastoreConfig; import io.trino.plugin.hive.metastore.Table; import io.trino.plugin.hive.metastore.file.FileHiveMetastore; import io.trino.plugin.hive.metastore.file.FileHiveMetastoreConfig; @@ -45,6 +44,7 @@ import static com.google.common.io.MoreFiles.deleteRecursively; import static com.google.common.io.RecursiveDeleteOption.ALLOW_INSECURE; import static io.trino.plugin.iceberg.DataFileRecord.toDataFileRecord; +import static io.trino.plugin.iceberg.catalog.hms.IcebergHiveMetastoreCatalogModule.HIDE_DELTA_LAKE_TABLES_IN_ICEBERG; import static java.lang.String.format; import static org.assertj.core.api.Assertions.assertThat; import static org.testng.Assert.assertEquals; @@ -75,7 +75,7 @@ protected DistributedQueryRunner createQueryRunner() metastore = new FileHiveMetastore( new NodeVersion("testversion"), hdfsEnvironment, - new HiveMetastoreConfig(), + HIDE_DELTA_LAKE_TABLES_IN_ICEBERG, config); return IcebergQueryRunner.builder() diff --git a/plugin/trino-iceberg/src/test/java/io/trino/plugin/iceberg/TestIcebergTableWithExternalLocation.java b/plugin/trino-iceberg/src/test/java/io/trino/plugin/iceberg/TestIcebergTableWithExternalLocation.java index 4589c0d46667..e9cc13526245 100644 --- a/plugin/trino-iceberg/src/test/java/io/trino/plugin/iceberg/TestIcebergTableWithExternalLocation.java +++ b/plugin/trino-iceberg/src/test/java/io/trino/plugin/iceberg/TestIcebergTableWithExternalLocation.java @@ -22,7 +22,6 @@ import io.trino.plugin.hive.HiveHdfsConfiguration; import io.trino.plugin.hive.NodeVersion; import io.trino.plugin.hive.authentication.NoHdfsAuthentication; -import io.trino.plugin.hive.metastore.HiveMetastoreConfig; import io.trino.plugin.hive.metastore.Table; import io.trino.plugin.hive.metastore.file.FileHiveMetastore; import io.trino.plugin.hive.metastore.file.FileHiveMetastoreConfig; @@ -43,6 +42,7 @@ import static com.google.common.io.MoreFiles.deleteRecursively; import static com.google.common.io.RecursiveDeleteOption.ALLOW_INSECURE; import static io.trino.plugin.iceberg.DataFileRecord.toDataFileRecord; +import static io.trino.plugin.iceberg.catalog.hms.IcebergHiveMetastoreCatalogModule.HIDE_DELTA_LAKE_TABLES_IN_ICEBERG; import static io.trino.testing.sql.TestTable.randomTableSuffix; import static java.lang.String.format; import static org.assertj.core.api.Assertions.assertThat; @@ -73,7 +73,7 @@ protected DistributedQueryRunner createQueryRunner() metastore = new FileHiveMetastore( new NodeVersion("testversion"), hdfsEnvironment, - new HiveMetastoreConfig(), + HIDE_DELTA_LAKE_TABLES_IN_ICEBERG, config); return IcebergQueryRunner.builder() diff --git a/plugin/trino-iceberg/src/test/java/io/trino/plugin/iceberg/TestSharedHiveMetastore.java b/plugin/trino-iceberg/src/test/java/io/trino/plugin/iceberg/TestSharedHiveMetastore.java index 328625ab1476..c646834f4d22 100644 --- a/plugin/trino-iceberg/src/test/java/io/trino/plugin/iceberg/TestSharedHiveMetastore.java +++ b/plugin/trino-iceberg/src/test/java/io/trino/plugin/iceberg/TestSharedHiveMetastore.java @@ -89,7 +89,7 @@ protected QueryRunner createQueryRunner() HiveMetastore metastore = new FileHiveMetastore( new NodeVersion("testversion"), hdfsEnvironment, - new HiveMetastoreConfig(), + new HiveMetastoreConfig().isHideDeltaLakeTables(), new FileHiveMetastoreConfig() .setCatalogDirectory(dataDirectory.toFile().toURI().toString()) .setMetastoreUser("test")); diff --git a/plugin/trino-iceberg/src/test/java/io/trino/plugin/iceberg/optimizer/TestConnectorPushdownRulesWithIceberg.java b/plugin/trino-iceberg/src/test/java/io/trino/plugin/iceberg/optimizer/TestConnectorPushdownRulesWithIceberg.java index 74fb192608ab..22f7dae0155c 100644 --- a/plugin/trino-iceberg/src/test/java/io/trino/plugin/iceberg/optimizer/TestConnectorPushdownRulesWithIceberg.java +++ b/plugin/trino-iceberg/src/test/java/io/trino/plugin/iceberg/optimizer/TestConnectorPushdownRulesWithIceberg.java @@ -30,7 +30,6 @@ import io.trino.plugin.hive.authentication.NoHdfsAuthentication; import io.trino.plugin.hive.metastore.Database; import io.trino.plugin.hive.metastore.HiveMetastore; -import io.trino.plugin.hive.metastore.HiveMetastoreConfig; import io.trino.plugin.hive.metastore.file.FileHiveMetastore; import io.trino.plugin.hive.metastore.file.FileHiveMetastoreConfig; import io.trino.plugin.iceberg.ColumnIdentity; @@ -72,6 +71,7 @@ import static io.trino.plugin.iceberg.ColumnIdentity.TypeCategory.STRUCT; import static io.trino.plugin.iceberg.ColumnIdentity.primitiveColumnIdentity; import static io.trino.plugin.iceberg.TableType.DATA; +import static io.trino.plugin.iceberg.catalog.hms.IcebergHiveMetastoreCatalogModule.HIDE_DELTA_LAKE_TABLES_IN_ICEBERG; import static io.trino.spi.connector.RetryMode.NO_RETRIES; import static io.trino.spi.type.BigintType.BIGINT; import static io.trino.spi.type.IntegerType.INTEGER; @@ -119,7 +119,7 @@ protected Optional createLocalQueryRunner() metastore = new FileHiveMetastore( new NodeVersion("testversion"), environment, - new HiveMetastoreConfig(), + HIDE_DELTA_LAKE_TABLES_IN_ICEBERG, new FileHiveMetastoreConfig() .setCatalogDirectory(baseDir.toURI().toString()) .setMetastoreUser("test"));