Index: jdbc/src/java/org/apache/hadoop/hive/jdbc/HiveConnection.java =================================================================== --- jdbc/src/java/org/apache/hadoop/hive/jdbc/HiveConnection.java (revision 1132918) +++ jdbc/src/java/org/apache/hadoop/hive/jdbc/HiveConnection.java (working copy) @@ -25,6 +25,7 @@ import org.apache.thrift.protocol.TBinaryProtocol; import org.apache.thrift.protocol.TProtocol; import org.apache.thrift.transport.TSocket; +import org.apache.thrift.TException; import org.apache.thrift.transport.TTransport; import org.apache.thrift.transport.TTransportException; @@ -126,13 +127,19 @@ */ public void close() throws SQLException { + + 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; } + } } /* Index: service/src/test/org/apache/hadoop/hive/service/TestHiveServer.java =================================================================== --- service/src/test/org/apache/hadoop/hive/service/TestHiveServer.java (revision 1132918) +++ service/src/test/org/apache/hadoop/hive/service/TestHiveServer.java (working copy) @@ -88,6 +88,11 @@ protected void tearDown() throws Exception { super.tearDown(); if (standAloneServer) { + try{ + client.clean(); + }catch (Exception e) { + e.printStackTrace(); + } transport.close(); } }