From 12d06493480089ec27749480836a8a0ef5f86fbf Mon Sep 17 00:00:00 2001 From: Nishant Bangarwa Date: Thu, 24 Oct 2019 00:38:01 +0530 Subject: [PATCH] [HIVE-22395] ability to read druid metastore password from jceks --- .../apache/hadoop/hive/druid/DruidStorageHandler.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/druid-handler/src/java/org/apache/hadoop/hive/druid/DruidStorageHandler.java b/druid-handler/src/java/org/apache/hadoop/hive/druid/DruidStorageHandler.java index 287cf5f8ce..28772e407b 100644 --- a/druid-handler/src/java/org/apache/hadoop/hive/druid/DruidStorageHandler.java +++ b/druid-handler/src/java/org/apache/hadoop/hive/druid/DruidStorageHandler.java @@ -831,6 +831,14 @@ private SQLMetadataConnector getConnector() { return Suppliers.memoize(this::buildConnector).get(); } + private static String getPassword(Configuration conf, HiveConf.ConfVars var) { + try { + return String.valueOf(conf.getPassword(var.varname)); + } catch (IOException e) { + throw new RuntimeException("Unable to retrieve password from configuration", e); + } + } + private SQLMetadataConnector buildConnector() { if (connector != null) { @@ -839,7 +847,7 @@ private SQLMetadataConnector buildConnector() { final String dbType = HiveConf.getVar(getConf(), HiveConf.ConfVars.DRUID_METADATA_DB_TYPE); final String username = HiveConf.getVar(getConf(), HiveConf.ConfVars.DRUID_METADATA_DB_USERNAME); - final String password = HiveConf.getVar(getConf(), HiveConf.ConfVars.DRUID_METADATA_DB_PASSWORD); + final String password = getPassword(getConf(), HiveConf.ConfVars.DRUID_METADATA_DB_PASSWORD); final String uri = HiveConf.getVar(getConf(), HiveConf.ConfVars.DRUID_METADATA_DB_URI); LOG.debug("Supplying SQL Connector with DB type {}, URI {}, User {}", dbType, uri, username); @SuppressWarnings("Guava") final Supplier -- 2.20.1 (Apple Git-117)