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();
}
}