okumin commented on code in PR #5628:
URL: https://github.com/apache/hive/pull/5628#discussion_r1938394468
##########
ql/src/java/org/apache/hadoop/hive/ql/metadata/Hive.java:
##########
@@ -5839,13 +5840,30 @@ public HiveMetaHook getHook(
}
};
+ if ("rest".equals(conf.get("metastore.type", "hms"))) {
+ return getHiveIcebergRESTCatalog(conf);
+ }
+
if (conf.getBoolVar(ConfVars.METASTORE_FASTPATH)) {
return new SessionHiveMetaStoreClient(conf, hookLoader, allowEmbedded);
} else {
return RetryingMetaStoreClient.getProxy(conf, hookLoader,
metaCallTimeMap,
SessionHiveMetaStoreClient.class.getName(), allowEmbedded);
}
}
+ private IMetaStoreClient getHiveIcebergRESTCatalog(HiveConf conf) throws
MetaException {
+ try {
+ Class<? extends IMetaStoreClient> handlerClass =
+ (Class<? extends IMetaStoreClient>)
+
Class.forName("org.apache.iceberg.hive.HiveIcebergRESTCatalogClientAdapter",
true, Utilities.getSessionSpecifiedClassLoader());
+ IMetaStoreClient restCatalogMetastoreClient =
ReflectionUtils.newInstance(handlerClass, conf);
+ restCatalogMetastoreClient.reconnect();
+ return restCatalogMetastoreClient;
Review Comment:
I don't disagree with this approach. However, if we replace
IMetaStoreClient, I'd like you to resolve HIVE-12679, which is more generic and
allows users to use Glue or another service.
Committers have asked us to discover solutions to implement some of
SessionHiveMetaStoreClient's traits.
https://github.com/apache/hive/pull/4444
That's why we should make configurable not IMetaStoreClient but
ThriftHiveMetastore.Iface.
https://issues.apache.org/jira/browse/HIVE-28658?focusedCommentId=17905019&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-17905019
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]