This is an automated email from the ASF dual-hosted git repository.

okumin 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 41bd75622ce HIVE-29273: Default port appended should respect transport 
mode when … (#6137)
41bd75622ce is described below

commit 41bd75622ce311b33a60038a6cf754f67de1480b
Author: Tanishq Chugh <[email protected]>
AuthorDate: Mon Oct 20 11:13:27 2025 +0530

    HIVE-29273: Default port appended should respect transport mode when … 
(#6137)
    
    * HIVE-29273: Default port appended should respect transport mode when host 
is specified without port
    
    * Update the utility function to use default variable values instead of 
hardcoding
    
    * Update the test case
    
    * Address checkstyle issues
    
    * Remove unnecessary redundant null check
---
 jdbc/src/java/org/apache/hive/jdbc/HiveDriver.java  |  2 +-
 jdbc/src/java/org/apache/hive/jdbc/Utils.java       | 21 +++++++++++++++------
 .../org/apache/hive/jdbc/TestHiveConnection.java    |  5 ++++-
 3 files changed, 20 insertions(+), 8 deletions(-)

diff --git a/jdbc/src/java/org/apache/hive/jdbc/HiveDriver.java 
b/jdbc/src/java/org/apache/hive/jdbc/HiveDriver.java
index edd9e574150..862a71f4496 100644
--- a/jdbc/src/java/org/apache/hive/jdbc/HiveDriver.java
+++ b/jdbc/src/java/org/apache/hive/jdbc/HiveDriver.java
@@ -238,7 +238,7 @@ private Properties parseURLforPropertyInfo(String url, 
Properties defaults) thro
       port = "";
     }
     else if(port.equals("0") || port.equals("-1")){
-      port = Utils.DEFAULT_PORT;
+      port = Utils.getDefaultPort(params);
     }
     String db = params.getDbName();
     urlProps.put(HOST_PROPERTY_KEY, host);
diff --git a/jdbc/src/java/org/apache/hive/jdbc/Utils.java 
b/jdbc/src/java/org/apache/hive/jdbc/Utils.java
index 023c23f7ca0..a5bba8b8c45 100644
--- a/jdbc/src/java/org/apache/hive/jdbc/Utils.java
+++ b/jdbc/src/java/org/apache/hive/jdbc/Utils.java
@@ -50,11 +50,6 @@ public class Utils {
     */
   public static final String URL_PREFIX = "jdbc:hive2://";
 
-  /**
-    * If host is provided, without a port.
-    */
-  static final String DEFAULT_PORT = "10000";
-
   // To parse the intermediate URI as a Java URI, we'll give a dummy 
authority(dummyhost:00000).
   // Later, we'll substitute the dummy authority for a resolved authority.
   static final String dummyAuthorityString = "dummyhost:00000";
@@ -641,7 +636,7 @@ public static JdbcConnectionParams 
extractURLComponents(String uri, Properties i
           // Set the port to default value; we do support jdbc url like:
           // jdbc:hive2://localhost/db
           if (port <= 0) {
-            port = Integer.parseInt(Utils.DEFAULT_PORT);
+            port = Integer.parseInt(Utils.getDefaultPort(connParams));
           }
           connParams.setHost(host);
           connParams.setPort(port);
@@ -890,4 +885,18 @@ public static String getPassword(Map<String, String> 
confMap, String key) {
     }
     return password;
   }
+
+  /**
+   * Method to get the default port based on the transport mode.
+   * @param connectionParams JDBC connection parameters
+   * @return defaultPort
+   */
+  public static String getDefaultPort(JdbcConnectionParams connectionParams) {
+    String port = HiveConf.ConfVars.HIVE_SERVER2_THRIFT_PORT.getDefaultValue();
+    String transportMode = 
connectionParams.getSessionVars().get(JdbcConnectionParams.TRANSPORT_MODE);
+    if ("http".equalsIgnoreCase(transportMode)) {
+      port = HiveConf.ConfVars.HIVE_SERVER2_THRIFT_HTTP_PORT.getDefaultValue();
+    }
+    return port;
+  }
 }
diff --git a/jdbc/src/test/org/apache/hive/jdbc/TestHiveConnection.java 
b/jdbc/src/test/org/apache/hive/jdbc/TestHiveConnection.java
index a9e54167eeb..1ad35c6e90a 100644
--- a/jdbc/src/test/org/apache/hive/jdbc/TestHiveConnection.java
+++ b/jdbc/src/test/org/apache/hive/jdbc/TestHiveConnection.java
@@ -75,7 +75,10 @@ public void testHiveConnectionParameters() throws 
SQLException, ZooKeeperHiveCli
     Assert.assertEquals("true", 
params.getSessionVars().get(JdbcConnectionParams.JDBC_PARAM_REQUEST_TRACK));
 
     JdbcConnectionParams nonPortParams = 
Utils.parseURL("jdbc:hive2://hello.host/default");
-    Assert.assertEquals(Integer.parseInt(Utils.DEFAULT_PORT), 
nonPortParams.getPort());
+    Assert.assertEquals(10000, nonPortParams.getPort());
+
+    JdbcConnectionParams nonPortHttpParams = 
Utils.parseURL("jdbc:hive2://hello.host/default;transportMode=http");
+    Assert.assertEquals(10001, nonPortHttpParams.getPort());
   }
 
   @Test

Reply via email to