diff --git a/itests/src/test/resources/testconfiguration.properties b/itests/src/test/resources/testconfiguration.properties
index fdd8ecc..0c78ba7 100644
--- a/itests/src/test/resources/testconfiguration.properties
+++ b/itests/src/test/resources/testconfiguration.properties
@@ -516,6 +516,7 @@ minillaplocal.query.files=\
explainanalyze_2.q,\
explainuser_1.q,\
explainuser_4.q,\
+ external_jdbc_auth.q,\
external_jdbc_table.q,\
fullouter_mapjoin_1_optimized.q,\
groupby2.q,\
diff --git a/jdbc-handler/pom.xml b/jdbc-handler/pom.xml
index f90892f..ad421a1 100644
--- a/jdbc-handler/pom.xml
+++ b/jdbc-handler/pom.xml
@@ -113,6 +113,20 @@
test
+
+ org.powermock
+ powermock-module-junit4
+ ${powermock.version}
+ test
+
+
+
+ org.powermock
+ powermock-api-mockito
+ ${powermock.version}
+ test
+
+
org.apache.hive
hive-common
diff --git a/jdbc-handler/src/main/java/org/apache/hive/storage/jdbc/JdbcInputFormat.java b/jdbc-handler/src/main/java/org/apache/hive/storage/jdbc/JdbcInputFormat.java
index caa823f..3e79352 100644
--- a/jdbc-handler/src/main/java/org/apache/hive/storage/jdbc/JdbcInputFormat.java
+++ b/jdbc-handler/src/main/java/org/apache/hive/storage/jdbc/JdbcInputFormat.java
@@ -61,10 +61,7 @@
try {
LOGGER.debug("Creating {} input splits", numSplits);
-
- if (dbAccessor == null) {
- dbAccessor = DatabaseAccessorFactory.getAccessor(job);
- }
+ dbAccessor = DatabaseAccessorFactory.getAccessor(job);
int numRecords = numSplits <=1 ? Integer.MAX_VALUE : dbAccessor.getTotalNumberOfRecords(job);
diff --git a/jdbc-handler/src/main/java/org/apache/hive/storage/jdbc/conf/JdbcStorageConfigManager.java b/jdbc-handler/src/main/java/org/apache/hive/storage/jdbc/conf/JdbcStorageConfigManager.java
index 55fc0ea..f4bea20 100644
--- a/jdbc-handler/src/main/java/org/apache/hive/storage/jdbc/conf/JdbcStorageConfigManager.java
+++ b/jdbc-handler/src/main/java/org/apache/hive/storage/jdbc/conf/JdbcStorageConfigManager.java
@@ -15,11 +15,12 @@
package org.apache.hive.storage.jdbc.conf;
import java.io.IOException;
+
+import org.apache.hadoop.hive.ql.exec.Utilities;
import org.apache.hadoop.hive.shims.ShimLoader;
import org.apache.hadoop.hive.ql.metadata.Hive;
import org.apache.hadoop.hive.ql.metadata.HiveException;
import org.apache.hadoop.hive.conf.HiveConf;
-import org.apache.hive.storage.jdbc.conf.DatabaseType;
import org.apache.hadoop.conf.Configuration;
@@ -41,6 +42,8 @@
private static final Logger LOGGER = LoggerFactory.getLogger(JdbcStorageConfigManager.class);
public static final String CONFIG_PREFIX = "hive.sql";
public static final String CONFIG_PWD = CONFIG_PREFIX + ".dbcp.password";
+ public static final String CONFIG_PWD_KEYSTORE = CONFIG_PREFIX + ".dbcp.password.keystore";
+ public static final String CONFIG_PWD_KEY = CONFIG_PREFIX + ".dbcp.password.key";
public static final String CONFIG_USERNAME = CONFIG_PREFIX + ".dbcp.username";
private static final EnumSet DEFAULT_REQUIRED_PROPERTIES =
EnumSet.of(JdbcStorageConfig.DATABASE_TYPE,
@@ -59,7 +62,9 @@ public static void copyConfigurationToJob(Properties props, Map
checkRequiredPropertiesAreDefined(props);
resolveMetadata(props);
for (Entry