You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by ga...@apache.org on 2015/12/14 20:30:38 UTC

[1/2] hive git commit: HIVE-10982 Customizable the value of java.sql.statement.setFetchSize in Hive JDBC Driver (Bing Li via Alan Gates)

Repository: hive
Updated Branches:
  refs/heads/master 55dc00874 -> 69f03b86c


HIVE-10982 Customizable the value of java.sql.statement.setFetchSize in Hive JDBC Driver (Bing Li via Alan Gates)


Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/02d2972f
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/02d2972f
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/02d2972f

Branch: refs/heads/master
Commit: 02d2972f46099f411b31c587be1c8982cb5bbb91
Parents: b98da82
Author: Alan Gates <ga...@hortonworks.com>
Authored: Mon Dec 14 11:21:49 2015 -0800
Committer: Alan Gates <ga...@hortonworks.com>
Committed: Mon Dec 14 11:21:49 2015 -0800

----------------------------------------------------------------------
 .../org/apache/hive/jdbc/TestJdbcDriver2.java   |  8 ++++
 .../org/apache/hive/jdbc/HiveConnection.java    |  9 +++-
 .../org/apache/hive/jdbc/HiveStatement.java     | 43 ++++++++++++--------
 jdbc/src/java/org/apache/hive/jdbc/Utils.java   |  2 +
 4 files changed, 44 insertions(+), 18 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hive/blob/02d2972f/itests/hive-unit/src/test/java/org/apache/hive/jdbc/TestJdbcDriver2.java
----------------------------------------------------------------------
diff --git a/itests/hive-unit/src/test/java/org/apache/hive/jdbc/TestJdbcDriver2.java b/itests/hive-unit/src/test/java/org/apache/hive/jdbc/TestJdbcDriver2.java
index 8cb9689..e9206b9 100644
--- a/itests/hive-unit/src/test/java/org/apache/hive/jdbc/TestJdbcDriver2.java
+++ b/itests/hive-unit/src/test/java/org/apache/hive/jdbc/TestJdbcDriver2.java
@@ -307,6 +307,14 @@ public class TestJdbcDriver2 {
     checkBadUrl("jdbc:hive2://localhost:10000test");
   }
 
+  @Test
+  public void testURLWithFetchSize() throws SQLException {
+    Connection con = getConnection("default;fetchSize=1234");
+    Statement stmt = con.createStatement();
+
+    assertEquals(stmt.getFetchSize(), 1234);
+  }
+
   private void checkBadUrl(String url) throws SQLException {
     try{
       DriverManager.getConnection(url, "", "");

http://git-wip-us.apache.org/repos/asf/hive/blob/02d2972f/jdbc/src/java/org/apache/hive/jdbc/HiveConnection.java
----------------------------------------------------------------------
diff --git a/jdbc/src/java/org/apache/hive/jdbc/HiveConnection.java b/jdbc/src/java/org/apache/hive/jdbc/HiveConnection.java
index c312ece..3c5dc0c 100644
--- a/jdbc/src/java/org/apache/hive/jdbc/HiveConnection.java
+++ b/jdbc/src/java/org/apache/hive/jdbc/HiveConnection.java
@@ -122,6 +122,7 @@ public class HiveConnection implements java.sql.Connection {
   private final List<TProtocolVersion> supportedProtocols = new LinkedList<TProtocolVersion>();
   private int loginTimeout = 0;
   private TProtocolVersion protocol;
+  private int fetchSize = HiveStatement.DEFAULT_FETCH_SIZE;
 
   public HiveConnection(String uri, Properties info) throws SQLException {
     setupLoginTimeout();
@@ -143,6 +144,10 @@ public class HiveConnection implements java.sql.Connection {
     hiveVarMap = connParams.getHiveVars();
     isEmbeddedMode = connParams.isEmbeddedMode();
 
+    if (sessConfMap.containsKey(JdbcConnectionParams.FETCH_SIZE)) {
+      fetchSize = Integer.parseInt(sessConfMap.get(JdbcConnectionParams.FETCH_SIZE));
+    }
+
     if (isEmbeddedMode) {
       EmbeddedThriftBinaryCLIService embeddedClient = new EmbeddedThriftBinaryCLIService();
       embeddedClient.init(null);
@@ -821,7 +826,7 @@ public class HiveConnection implements java.sql.Connection {
     if (isClosed) {
       throw new SQLException("Can't create Statement, connection is closed");
     }
-    return new HiveStatement(this, client, sessHandle);
+    return new HiveStatement(this, client, sessHandle, fetchSize);
   }
 
   /*
@@ -842,7 +847,7 @@ public class HiveConnection implements java.sql.Connection {
           " is not supported", "HYC00"); // Optional feature not implemented
     }
     return new HiveStatement(this, client, sessHandle,
-        resultSetType == ResultSet.TYPE_SCROLL_INSENSITIVE);
+        resultSetType == ResultSet.TYPE_SCROLL_INSENSITIVE, fetchSize);
   }
 
   /*

http://git-wip-us.apache.org/repos/asf/hive/blob/02d2972f/jdbc/src/java/org/apache/hive/jdbc/HiveStatement.java
----------------------------------------------------------------------
diff --git a/jdbc/src/java/org/apache/hive/jdbc/HiveStatement.java b/jdbc/src/java/org/apache/hive/jdbc/HiveStatement.java
index 180f99e8..3f9024a 100644
--- a/jdbc/src/java/org/apache/hive/jdbc/HiveStatement.java
+++ b/jdbc/src/java/org/apache/hive/jdbc/HiveStatement.java
@@ -18,16 +18,6 @@
 
 package org.apache.hive.jdbc;
 
-import java.sql.Connection;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.sql.SQLFeatureNotSupportedException;
-import java.sql.SQLWarning;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
 import org.apache.hive.service.cli.RowSet;
 import org.apache.hive.service.cli.RowSetFactory;
 import org.apache.hive.service.cli.thrift.TCLIService;
@@ -37,23 +27,33 @@ import org.apache.hive.service.cli.thrift.TCloseOperationReq;
 import org.apache.hive.service.cli.thrift.TCloseOperationResp;
 import org.apache.hive.service.cli.thrift.TExecuteStatementReq;
 import org.apache.hive.service.cli.thrift.TExecuteStatementResp;
+import org.apache.hive.service.cli.thrift.TFetchOrientation;
+import org.apache.hive.service.cli.thrift.TFetchResultsReq;
+import org.apache.hive.service.cli.thrift.TFetchResultsResp;
 import org.apache.hive.service.cli.thrift.TGetOperationStatusReq;
 import org.apache.hive.service.cli.thrift.TGetOperationStatusResp;
 import org.apache.hive.service.cli.thrift.TOperationHandle;
 import org.apache.hive.service.cli.thrift.TSessionHandle;
-import org.apache.hive.service.cli.thrift.TFetchResultsReq;
-import org.apache.hive.service.cli.thrift.TFetchResultsResp;
-import org.apache.hive.service.cli.thrift.TFetchOrientation;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import java.sql.Connection;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.SQLFeatureNotSupportedException;
+import java.sql.SQLWarning;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
 /**
  * HiveStatement.
  *
  */
 public class HiveStatement implements java.sql.Statement {
   public static final Logger LOG = LoggerFactory.getLogger(HiveStatement.class.getName());
-  private static final int DEFAULT_FETCH_SIZE = 1000;
+  public static final int DEFAULT_FETCH_SIZE = 1000;
   private final HiveConnection connection;
   private TCLIService.Iface client;
   private TOperationHandle stmtHandle = null;
@@ -110,15 +110,26 @@ public class HiveStatement implements java.sql.Statement {
 
   public HiveStatement(HiveConnection connection, TCLIService.Iface client,
       TSessionHandle sessHandle) {
-    this(connection, client, sessHandle, false);
+    this(connection, client, sessHandle, false, DEFAULT_FETCH_SIZE);
+  }
+
+  public HiveStatement(HiveConnection connection, TCLIService.Iface client,
+      TSessionHandle sessHandle, int fetchSize) {
+    this(connection, client, sessHandle, false, fetchSize);
+  }
+
+  public HiveStatement(HiveConnection connection, TCLIService.Iface client,
+                       TSessionHandle sessHandle, boolean isScrollableResultset) {
+    this(connection, client, sessHandle, isScrollableResultset, DEFAULT_FETCH_SIZE);
   }
 
   public HiveStatement(HiveConnection connection, TCLIService.Iface client,
-      TSessionHandle sessHandle, boolean isScrollableResultset) {
+      TSessionHandle sessHandle, boolean isScrollableResultset, int fetchSize) {
     this.connection = connection;
     this.client = client;
     this.sessHandle = sessHandle;
     this.isScrollableResultset = isScrollableResultset;
+    this.fetchSize = fetchSize;
   }
 
   /*

http://git-wip-us.apache.org/repos/asf/hive/blob/02d2972f/jdbc/src/java/org/apache/hive/jdbc/Utils.java
----------------------------------------------------------------------
diff --git a/jdbc/src/java/org/apache/hive/jdbc/Utils.java b/jdbc/src/java/org/apache/hive/jdbc/Utils.java
index d3f8878..c9fbe1f 100644
--- a/jdbc/src/java/org/apache/hive/jdbc/Utils.java
+++ b/jdbc/src/java/org/apache/hive/jdbc/Utils.java
@@ -112,6 +112,8 @@ class Utils {
     static final String DEFAULT_COOKIE_NAMES_HS2 = "hive.server2.auth";
     // The http header prefix for additional headers which have to be appended to the request
     static final String HTTP_HEADER_PREFIX = "http.header.";
+    // Set the fetchSize
+    static final String FETCH_SIZE = "fetchSize";
 
     // --------------- Begin 2 way ssl options -------------------------
     // Use two way ssl. This param will take effect only when ssl=true


[2/2] hive git commit: Merge remote-tracking branch 'apache/master'

Posted by ga...@apache.org.
Merge remote-tracking branch 'apache/master'


Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/69f03b86
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/69f03b86
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/69f03b86

Branch: refs/heads/master
Commit: 69f03b86c4ded478bff11f8bf163c8012b08c614
Parents: 02d2972 55dc008
Author: Alan Gates <ga...@hortonworks.com>
Authored: Mon Dec 14 11:24:05 2015 -0800
Committer: Alan Gates <ga...@hortonworks.com>
Committed: Mon Dec 14 11:24:05 2015 -0800

----------------------------------------------------------------------
 .../metrics/metrics2/CodahaleMetrics.java       |   7 ++
 .../org/apache/hadoop/hive/conf/HiveConf.java   |   2 +
 .../hive/common/metrics/MetricsTestUtils.java   |   9 +-
 .../hive/metastore/TestMetaStoreMetrics.java    | 113 +++++--------------
 .../hbase/TestHBaseMetastoreMetrics.java        |  32 ++----
 .../hive/jdbc/miniHS2/TestHs2Metrics.java       |  42 ++++---
 .../hadoop/hive/metastore/HiveMetaStore.java    |   2 +-
 .../TestHiveMetaStorePartitionSpecs.java        |   2 +-
 ql/pom.xml                                      |   7 ++
 .../zookeeper/TestZookeeperLockManager.java     |  29 ++---
 service/pom.xml                                 |  14 +--
 .../cli/session/TestSessionManagerMetrics.java  |  23 ++--
 12 files changed, 109 insertions(+), 173 deletions(-)
----------------------------------------------------------------------