Author: brock
Date: Tue Dec 17 15:19:31 2013
New Revision: 1551568

URL: http://svn.apache.org/r1551568
Log:
HIVE-5812 - HiveServer2 SSL connection transport binds to loopback address by 
default (Prasad Mujumdar via Brock Noland)

Modified:
    hive/trunk/jdbc/src/java/org/apache/hive/jdbc/HiveConnection.java
    
hive/trunk/service/src/java/org/apache/hive/service/auth/HiveAuthFactory.java

Modified: hive/trunk/jdbc/src/java/org/apache/hive/jdbc/HiveConnection.java
URL: 
http://svn.apache.org/viewvc/hive/trunk/jdbc/src/java/org/apache/hive/jdbc/HiveConnection.java?rev=1551568&r1=1551567&r2=1551568&view=diff
==============================================================================
--- hive/trunk/jdbc/src/java/org/apache/hive/jdbc/HiveConnection.java (original)
+++ hive/trunk/jdbc/src/java/org/apache/hive/jdbc/HiveConnection.java Tue Dec 
17 15:19:31 2013
@@ -42,6 +42,7 @@ import java.util.Map;
 import java.util.Map.Entry;
 import java.util.Properties;
 import java.util.concurrent.Executor;
+import java.util.concurrent.TimeUnit;
 
 import javax.security.sasl.Sasl;
 import javax.security.sasl.SaslException;
@@ -100,7 +101,7 @@ public class HiveConnection implements j
   private int loginTimeout = 0;
 
   public HiveConnection(String uri, Properties info) throws SQLException {
-    loginTimeout = DriverManager.getLoginTimeout();
+    setupLoginTimeout();
     jdbcURI = uri;
     // parse the connection uri
     Utils.JdbcConnectionParams connParams = Utils.parseURL(jdbcURI);
@@ -326,6 +327,16 @@ public class HiveConnection implements j
     return varValue;
   }
 
+  // copy loginTimeout from driver manager. Thrift timeout needs to be in 
millis
+  private void setupLoginTimeout() {
+    long timeOut = TimeUnit.SECONDS.toMillis(DriverManager.getLoginTimeout());
+    if (timeOut > Integer.MAX_VALUE) {
+      loginTimeout = Integer.MAX_VALUE;
+    } else {
+      loginTimeout = (int) timeOut;
+    }
+  }
+
   public void abort(Executor executor) throws SQLException {
     // JDK 1.7
     throw new SQLException("Method not supported");

Modified: 
hive/trunk/service/src/java/org/apache/hive/service/auth/HiveAuthFactory.java
URL: 
http://svn.apache.org/viewvc/hive/trunk/service/src/java/org/apache/hive/service/auth/HiveAuthFactory.java?rev=1551568&r1=1551567&r2=1551568&view=diff
==============================================================================
--- 
hive/trunk/service/src/java/org/apache/hive/service/auth/HiveAuthFactory.java 
(original)
+++ 
hive/trunk/service/src/java/org/apache/hive/service/auth/HiveAuthFactory.java 
Tue Dec 17 15:19:31 2013
@@ -195,8 +195,13 @@ public class HiveAuthFactory {
         new TSSLTransportFactory.TSSLTransportParameters();
     params.setKeyStore(keyStorePath, keyStorePassWord);
 
-    return TSSLTransportFactory.getServerSocket(portNum, 10000,
-        InetAddress.getByName(hiveHost), params);
+    InetAddress serverAddress;
+    if (hiveHost == null || hiveHost.isEmpty()) {
+      serverAddress = InetAddress.getLocalHost();
+    } else {
+      serverAddress = InetAddress.getByName(hiveHost);
+    }
+    return TSSLTransportFactory.getServerSocket(portNum, 10000, serverAddress, 
params);
   }
 
 }


Reply via email to