You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by ni...@apache.org on 2020/01/08 13:41:01 UTC
[hive] branch master updated: HIVE-22395: Ability to read druid
metastore password from jceks (Nishant Bangarwa,
reviewed by Ashutosh Chauhan)
This is an automated email from the ASF dual-hosted git repository.
nishant 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 948144a HIVE-22395: Ability to read druid metastore password from jceks (Nishant Bangarwa, reviewed by Ashutosh Chauhan)
948144a is described below
commit 948144a49753d3955505f428d427fb7b2fb9642a
Author: Nishant Bangarwa <ni...@gmail.com>
AuthorDate: Wed Jan 8 19:03:49 2020 +0530
HIVE-22395: Ability to read druid metastore password from jceks (Nishant Bangarwa, reviewed by Ashutosh Chauhan)
---
.../org/apache/hadoop/hive/druid/DruidStorageHandler.java | 13 ++++++++++++-
1 file changed, 12 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 287cf5f..fe55eff 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,17 @@ import static org.apache.hadoop.hive.druid.DruidStorageHandlerUtils.JSON_MAPPER;
return Suppliers.memoize(this::buildConnector).get();
}
+ private static String getPassword(Configuration conf, HiveConf.ConfVars var) {
+ try {
+ final char[] password = conf.getPassword(var.varname);
+ return password == null ? null : String.valueOf(password);
+ } catch (IOException e) {
+ // Reading password from configuration for backwards compatibility.
+ LOG.warn("Unable to retrieve password from credential providers. Trying to read it from config..", e);
+ return conf.get(var.varname);
+ }
+ }
+
private SQLMetadataConnector buildConnector() {
if (connector != null) {
@@ -839,7 +850,7 @@ import static org.apache.hadoop.hive.druid.DruidStorageHandlerUtils.JSON_MAPPER;
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<MetadataStorageConnectorConfig>