diff --git a/itests/hive-unit/src/main/java/org/apache/hive/jdbc/miniHS2/MiniHS2.java b/itests/hive-unit/src/main/java/org/apache/hive/jdbc/miniHS2/MiniHS2.java index 488ba93..f2c8382 100644 --- a/itests/hive-unit/src/main/java/org/apache/hive/jdbc/miniHS2/MiniHS2.java +++ b/itests/hive-unit/src/main/java/org/apache/hive/jdbc/miniHS2/MiniHS2.java @@ -332,18 +332,25 @@ public String getJdbcURL(String dbName, String sessionConfExt) { * @return */ public String getJdbcURL(String dbName, String sessionConfExt, String hiveConfExt) { - sessionConfExt = (sessionConfExt == null ? "" : sessionConfExt); - hiveConfExt = (hiveConfExt == null ? "" : hiveConfExt); - String krbConfig = ""; + sessionConfExt = ((sessionConfExt == null || sessionConfExt.isEmpty()) ? "" : sessionConfExt); + hiveConfExt = ((hiveConfExt == null || hiveConfExt.isEmpty()) ? "" : hiveConfExt); + // Strip the leading ";" if provided + // (this is the assumption with which we're going to start configuring sessionConfExt) + if (sessionConfExt.startsWith(";")) { + sessionConfExt = sessionConfExt.substring(1); + } if (isUseMiniKdc()) { - krbConfig = "principal=" + serverPrincipal; + sessionConfExt = "principal=" + serverPrincipal + ";" + sessionConfExt; } if (isHttpTransportMode()) { - sessionConfExt = "transportMode=http;httpPath=cliservice;" + sessionConfExt; + sessionConfExt = "transportMode=http;httpPath=cliservice" + ";" + sessionConfExt; + } + String baseJdbcURL = getBaseJdbcURL() + dbName; + if (!sessionConfExt.isEmpty()) { + baseJdbcURL = baseJdbcURL + ";" + sessionConfExt; } - String baseJdbcURL = getBaseJdbcURL() + dbName + ";" + krbConfig + ";" + sessionConfExt; - if (!hiveConfExt.trim().equals("")) { - baseJdbcURL = "?" + hiveConfExt; + if ((hiveConfExt != null) && (!hiveConfExt.trim().isEmpty())) { + baseJdbcURL = baseJdbcURL + "?" + hiveConfExt; } return baseJdbcURL; } diff --git a/itests/hive-unit/src/test/java/org/apache/hive/jdbc/TestSSL.java b/itests/hive-unit/src/test/java/org/apache/hive/jdbc/TestSSL.java index b66ffda..05b83a7 100644 --- a/itests/hive-unit/src/test/java/org/apache/hive/jdbc/TestSSL.java +++ b/itests/hive-unit/src/test/java/org/apache/hive/jdbc/TestSSL.java @@ -61,7 +61,7 @@ private Connection hs2Conn = null; private String dataFileDir = conf.get("test.data.files"); private Map confOverlay; - private final String SSL_CONN_PARAMS = ";ssl=true;sslTrustStore=" + private final String SSL_CONN_PARAMS = "ssl=true;sslTrustStore=" + URLEncoder.encode(dataFileDir + File.separator + TRUST_STORE_NAME) + ";trustStorePassword=" + KEY_STORE_PASSWORD;