You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by dk...@apache.org on 2022/08/04 07:57:26 UTC

[hive] branch master updated: HIVE-26433: StorageHandler authorization doesn't work with "METASTORE" db type (Denys Kuzmenko, reviewed by Sai Hemanth Gantasala)

This is an automated email from the ASF dual-hosted git repository.

dkuzmenko pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hive.git


The following commit(s) were added to refs/heads/master by this push:
     new 8b312d54ea HIVE-26433: StorageHandler authorization doesn't work with "METASTORE" db type (Denys Kuzmenko, reviewed by Sai Hemanth Gantasala)
8b312d54ea is described below

commit 8b312d54ea206461cb50450ac95ec267aba60b21
Author: Denys Kuzmenko <de...@gmail.com>
AuthorDate: Thu Aug 4 09:57:20 2022 +0200

    HIVE-26433: StorageHandler authorization doesn't work with "METASTORE" db type (Denys Kuzmenko, reviewed by Sai Hemanth Gantasala)
    
    Closes #3482
---
 .../main/java/org/apache/hive/storage/jdbc/JdbcStorageHandler.java | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/jdbc-handler/src/main/java/org/apache/hive/storage/jdbc/JdbcStorageHandler.java b/jdbc-handler/src/main/java/org/apache/hive/storage/jdbc/JdbcStorageHandler.java
index cfc126fcae..bcb051b629 100644
--- a/jdbc-handler/src/main/java/org/apache/hive/storage/jdbc/JdbcStorageHandler.java
+++ b/jdbc-handler/src/main/java/org/apache/hive/storage/jdbc/JdbcStorageHandler.java
@@ -28,6 +28,8 @@ import org.apache.hadoop.hive.serde2.AbstractSerDe;
 import org.apache.hadoop.mapred.InputFormat;
 import org.apache.hadoop.mapred.JobConf;
 import org.apache.hadoop.mapred.OutputFormat;
+import org.apache.hive.storage.jdbc.conf.DatabaseType;
+import org.apache.hive.storage.jdbc.conf.JdbcStorageConfig;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -99,7 +101,10 @@ public class JdbcStorageHandler implements HiveStorageHandler {
   @Override
   public URI getURIForAuth(Table table) throws URISyntaxException {
     Map<String, String> tableProperties = HiveCustomStorageHandlerUtils.getTableProperties(table);
-    String host_url = tableProperties.get(Constants.JDBC_URL);
+    DatabaseType dbType = DatabaseType.valueOf(
+      tableProperties.get(JdbcStorageConfig.DATABASE_TYPE.getPropertyName()));
+    String host_url = DatabaseType.METASTORE == dbType ?
+      "jdbc:metastore://" : tableProperties.get(Constants.JDBC_URL);
     String table_name = tableProperties.get(Constants.JDBC_TABLE);
     return new URI(host_url+"/"+table_name);
   }