You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by jv...@apache.org on 2011/07/20 06:39:57 UTC

svn commit: r1148622 - in /hive/trunk: jdbc/src/java/org/apache/hadoop/hive/jdbc/HiveConnection.java service/src/test/org/apache/hadoop/hive/service/TestHiveServer.java

Author: jvs
Date: Wed Jul 20 04:39:56 2011
New Revision: 1148622

URL: http://svn.apache.org/viewvc?rev=1148622&view=rev
Log:
HIVE-2198. While using Hive in server mode, HiveConnection.close() is
not cleaning up server side resources
(Chinna Rao Lalam via jvs)


Modified:
    hive/trunk/jdbc/src/java/org/apache/hadoop/hive/jdbc/HiveConnection.java
    hive/trunk/service/src/test/org/apache/hadoop/hive/service/TestHiveServer.java

Modified: hive/trunk/jdbc/src/java/org/apache/hadoop/hive/jdbc/HiveConnection.java
URL: http://svn.apache.org/viewvc/hive/trunk/jdbc/src/java/org/apache/hadoop/hive/jdbc/HiveConnection.java?rev=1148622&r1=1148621&r2=1148622&view=diff
==============================================================================
--- hive/trunk/jdbc/src/java/org/apache/hadoop/hive/jdbc/HiveConnection.java (original)
+++ hive/trunk/jdbc/src/java/org/apache/hadoop/hive/jdbc/HiveConnection.java Wed Jul 20 04:39:56 2011
@@ -22,6 +22,7 @@ import org.apache.hadoop.hive.metastore.
 import org.apache.hadoop.hive.service.HiveClient;
 import org.apache.hadoop.hive.service.HiveInterface;
 import org.apache.hadoop.hive.service.HiveServer;
+import org.apache.thrift.TException;
 import org.apache.thrift.protocol.TBinaryProtocol;
 import org.apache.thrift.protocol.TProtocol;
 import org.apache.thrift.transport.TSocket;
@@ -126,12 +127,17 @@ public class HiveConnection implements j
    */
 
   public void close() throws SQLException {
-    try {
-      if (transport != null) {
-        transport.close();
+    if (!isClosed) {
+      try {
+        client.clean();
+      } catch (TException e) {
+        throw new SQLException("Error while cleaning up the server resources", e);
+      } finally {
+        isClosed = true;
+        if (transport != null) {
+          transport.close();
+        }
       }
-    } finally {
-      isClosed = true;
     }
   }
 

Modified: hive/trunk/service/src/test/org/apache/hadoop/hive/service/TestHiveServer.java
URL: http://svn.apache.org/viewvc/hive/trunk/service/src/test/org/apache/hadoop/hive/service/TestHiveServer.java?rev=1148622&r1=1148621&r2=1148622&view=diff
==============================================================================
--- hive/trunk/service/src/test/org/apache/hadoop/hive/service/TestHiveServer.java (original)
+++ hive/trunk/service/src/test/org/apache/hadoop/hive/service/TestHiveServer.java Wed Jul 20 04:39:56 2011
@@ -88,6 +88,11 @@ public class TestHiveServer extends Test
   protected void tearDown() throws Exception {
     super.tearDown();
     if (standAloneServer) {
+      try {
+        client.clean();
+      } catch (Exception e) {
+        e.printStackTrace();
+      }
       transport.close();
     }
   }