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]

Reply via email to