diff --git hcatalog/streaming/src/java/org/apache/hive/hcatalog/streaming/HiveEndPoint.java hcatalog/streaming/src/java/org/apache/hive/hcatalog/streaming/HiveEndPoint.java index aad73d0..1da7205 100644 --- hcatalog/streaming/src/java/org/apache/hive/hcatalog/streaming/HiveEndPoint.java +++ hcatalog/streaming/src/java/org/apache/hive/hcatalog/streaming/HiveEndPoint.java @@ -267,6 +267,9 @@ private ConnectionImpl(HiveEndPoint endPoint, UserGroupInformation ugi, if (conf==null) { conf = HiveEndPoint.createHiveConf(this.getClass(), endPoint.metaStoreUri); } + else { + overrideConfSettings(conf); + } this.secureMode = ugi==null ? false : ugi.hasKerberosCredentials(); this.msClient = getMetaStoreClient(endPoint, conf, secureMode); if (createPart && !endPoint.partitionVals.isEmpty()) { @@ -837,14 +840,21 @@ private static LockRequest createLockRequest(final HiveEndPoint hiveEndPoint, static HiveConf createHiveConf(Class clazz, String metaStoreUri) { HiveConf conf = new HiveConf(clazz); - conf.setVar(HiveConf.ConfVars.HIVE_TXN_MANAGER, - "org.apache.hadoop.hive.ql.lockmgr.DbTxnManager"); - conf.setBoolVar(HiveConf.ConfVars.HIVE_SUPPORT_CONCURRENCY, true); - conf.setBoolVar(HiveConf.ConfVars.METASTORE_EXECUTE_SET_UGI, true); if (metaStoreUri!= null) { conf.setVar(HiveConf.ConfVars.METASTOREURIS, metaStoreUri); } + HiveEndPoint.overrideConfSettings(conf); return conf; } + private static void overrideConfSettings(HiveConf conf) { + conf.setVar(HiveConf.ConfVars.HIVE_TXN_MANAGER, + "org.apache.hadoop.hive.ql.lockmgr.DbTxnManager"); + conf.setBoolVar(HiveConf.ConfVars.HIVE_SUPPORT_CONCURRENCY, true); + conf.setBoolVar(HiveConf.ConfVars.METASTORE_EXECUTE_SET_UGI, true); + // Avoids creating Tez Client sessions internally as it takes much longer currently + conf.setVar(HiveConf.ConfVars.HIVE_EXECUTION_ENGINE, "mr"); + } + + } // class HiveEndPoint