You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by om...@apache.org on 2013/05/08 20:16:52 UTC
svn commit: r1480385 - in /hive/branches/branch-0.11:
ql/src/java/org/apache/hadoop/hive/ql/history/
ql/src/java/org/apache/hadoop/hive/ql/session/
service/src/java/org/apache/hive/service/cli/operation/
service/src/java/org/apache/hive/service/cli/ses...
Author: omalley
Date: Wed May 8 18:16:52 2013
New Revision: 1480385
URL: http://svn.apache.org/r1480385
Log:
HIVE-4500 Ensure that HiveServer 2 closes log files.
Modified:
hive/branches/branch-0.11/ql/src/java/org/apache/hadoop/hive/ql/history/HiveHistory.java
hive/branches/branch-0.11/ql/src/java/org/apache/hadoop/hive/ql/session/SessionState.java
hive/branches/branch-0.11/service/src/java/org/apache/hive/service/cli/operation/HiveCommandOperation.java
hive/branches/branch-0.11/service/src/java/org/apache/hive/service/cli/operation/Operation.java
hive/branches/branch-0.11/service/src/java/org/apache/hive/service/cli/session/HiveSessionImpl.java
Modified: hive/branches/branch-0.11/ql/src/java/org/apache/hadoop/hive/ql/history/HiveHistory.java
URL: http://svn.apache.org/viewvc/hive/branches/branch-0.11/ql/src/java/org/apache/hadoop/hive/ql/history/HiveHistory.java?rev=1480385&r1=1480384&r2=1480385&view=diff
==============================================================================
--- hive/branches/branch-0.11/ql/src/java/org/apache/hadoop/hive/ql/history/HiveHistory.java (original)
+++ hive/branches/branch-0.11/ql/src/java/org/apache/hadoop/hive/ql/history/HiveHistory.java Wed May 8 18:16:52 2013
@@ -39,6 +39,7 @@ import org.apache.hadoop.hive.ql.QueryPl
import org.apache.hadoop.hive.ql.exec.Task;
import org.apache.hadoop.hive.ql.session.SessionState;
import org.apache.hadoop.hive.ql.session.SessionState.LogHelper;
+import org.apache.hadoop.io.IOUtils;
import org.apache.hadoop.mapred.Counters;
import org.apache.hadoop.mapred.Counters.Counter;
import org.apache.hadoop.mapred.Counters.Group;
@@ -532,11 +533,14 @@ public class HiveHistory {
return null;
}
+
+ public void closeStream() {
+ IOUtils.cleanup(LOG, histStream);
+ }
+
@Override
public void finalize() throws Throwable {
- if (histStream !=null){
- histStream.close();
- }
+ closeStream();
super.finalize();
}
}
Modified: hive/branches/branch-0.11/ql/src/java/org/apache/hadoop/hive/ql/session/SessionState.java
URL: http://svn.apache.org/viewvc/hive/branches/branch-0.11/ql/src/java/org/apache/hadoop/hive/ql/session/SessionState.java?rev=1480385&r1=1480384&r2=1480385&view=diff
==============================================================================
--- hive/branches/branch-0.11/ql/src/java/org/apache/hadoop/hive/ql/session/SessionState.java (original)
+++ hive/branches/branch-0.11/ql/src/java/org/apache/hadoop/hive/ql/session/SessionState.java Wed May 8 18:16:52 2013
@@ -23,7 +23,6 @@ import java.io.IOException;
import java.io.InputStream;
import java.io.PrintStream;
import java.net.URI;
-import java.net.URL;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.GregorianCalendar;
@@ -41,7 +40,6 @@ import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.hive.conf.HiveConf;
import org.apache.hadoop.hive.ql.MapRedStats;
-import org.apache.hadoop.hive.ql.exec.FunctionRegistry;
import org.apache.hadoop.hive.ql.exec.Utilities;
import org.apache.hadoop.hive.ql.history.HiveHistory;
import org.apache.hadoop.hive.ql.metadata.HiveException;
Modified: hive/branches/branch-0.11/service/src/java/org/apache/hive/service/cli/operation/HiveCommandOperation.java
URL: http://svn.apache.org/viewvc/hive/branches/branch-0.11/service/src/java/org/apache/hive/service/cli/operation/HiveCommandOperation.java?rev=1480385&r1=1480384&r2=1480385&view=diff
==============================================================================
--- hive/branches/branch-0.11/service/src/java/org/apache/hive/service/cli/operation/HiveCommandOperation.java (original)
+++ hive/branches/branch-0.11/service/src/java/org/apache/hive/service/cli/operation/HiveCommandOperation.java Wed May 8 18:16:52 2013
@@ -34,6 +34,7 @@ import org.apache.hadoop.hive.metastore.
import org.apache.hadoop.hive.ql.processors.CommandProcessor;
import org.apache.hadoop.hive.ql.processors.CommandProcessorResponse;
import org.apache.hadoop.hive.ql.session.SessionState;
+import org.apache.hadoop.io.IOUtils;
import org.apache.hive.service.cli.FetchOrientation;
import org.apache.hive.service.cli.HiveSQLException;
import org.apache.hive.service.cli.OperationState;
@@ -85,6 +86,12 @@ public abstract class HiveCommandOperati
}
}
+
+ private void tearDownSessionIO() {
+ IOUtils.cleanup(LOG, parentSession.getSessionState().out);
+ IOUtils.cleanup(LOG, parentSession.getSessionState().err);
+ }
+
/* (non-Javadoc)
* @see org.apache.hive.service.cli.operation.Operation#run()
*/
@@ -121,6 +128,7 @@ public abstract class HiveCommandOperati
@Override
public void close() throws HiveSQLException {
setState(OperationState.CLOSED);
+ tearDownSessionIO();
cleanTmpFile();
}
@@ -187,6 +195,7 @@ public abstract class HiveCommandOperati
if (resultReader != null) {
SessionState sessionState = getParentSession().getSessionState();
File tmp = sessionState.getTmpOutputFile();
+ IOUtils.cleanup(LOG, resultReader);
tmp.delete();
resultReader = null;
}
Modified: hive/branches/branch-0.11/service/src/java/org/apache/hive/service/cli/operation/Operation.java
URL: http://svn.apache.org/viewvc/hive/branches/branch-0.11/service/src/java/org/apache/hive/service/cli/operation/Operation.java?rev=1480385&r1=1480384&r2=1480385&view=diff
==============================================================================
--- hive/branches/branch-0.11/service/src/java/org/apache/hive/service/cli/operation/Operation.java (original)
+++ hive/branches/branch-0.11/service/src/java/org/apache/hive/service/cli/operation/Operation.java Wed May 8 18:16:52 2013
@@ -32,7 +32,7 @@ import org.apache.hive.service.cli.sessi
public abstract class Operation {
- private final HiveSession parentSession;
+ protected final HiveSession parentSession;
private OperationState state = OperationState.INITIALIZED;
private final OperationHandle opHandle;
private HiveConf configuration;
Modified: hive/branches/branch-0.11/service/src/java/org/apache/hive/service/cli/session/HiveSessionImpl.java
URL: http://svn.apache.org/viewvc/hive/branches/branch-0.11/service/src/java/org/apache/hive/service/cli/session/HiveSessionImpl.java?rev=1480385&r1=1480384&r2=1480385&view=diff
==============================================================================
--- hive/branches/branch-0.11/service/src/java/org/apache/hive/service/cli/session/HiveSessionImpl.java (original)
+++ hive/branches/branch-0.11/service/src/java/org/apache/hive/service/cli/session/HiveSessionImpl.java Wed May 8 18:16:52 2013
@@ -28,6 +28,7 @@ import org.apache.hadoop.hive.conf.HiveC
import org.apache.hadoop.hive.metastore.HiveMetaStoreClient;
import org.apache.hadoop.hive.metastore.IMetaStoreClient;
import org.apache.hadoop.hive.metastore.api.MetaException;
+import org.apache.hadoop.hive.ql.history.HiveHistory;
import org.apache.hadoop.hive.ql.session.SessionState;
import org.apache.hive.common.util.HiveVersionInfo;
import org.apache.hive.service.cli.FetchOrientation;
@@ -295,6 +296,10 @@ public class HiveSessionImpl implements
operationManager.closeOperation(opHandle);
}
opHandleSet.clear();
+ HiveHistory hiveHist = sessionState.getHiveHistory();
+ if (null != hiveHist) {
+ hiveHist.closeStream();
+ }
} finally {
release();
}
@@ -367,4 +372,4 @@ public class HiveSessionImpl implements
protected HiveSession getSession() {
return this;
}
-}
\ No newline at end of file
+}