You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by cw...@apache.org on 2011/02/17 01:01:42 UTC
svn commit: r1071453 - in /hive/branches/branch-0.7/ql/src:
java/org/apache/hadoop/hive/ql/exec/
java/org/apache/hadoop/hive/ql/session/ test/org/apache/hadoop/hive/ql/
test/org/apache/hadoop/hive/ql/exec/
Author: cws
Date: Thu Feb 17 00:01:42 2011
New Revision: 1071453
URL: http://svn.apache.org/viewvc?rev=1071453&view=rev
Log:
HIVE-1211 Tapping logs from child processes (Jonathan Natkins via cws)
Modified:
hive/branches/branch-0.7/ql/src/java/org/apache/hadoop/hive/ql/exec/MapRedTask.java
hive/branches/branch-0.7/ql/src/java/org/apache/hadoop/hive/ql/session/SessionState.java
hive/branches/branch-0.7/ql/src/test/org/apache/hadoop/hive/ql/QTestUtil.java
hive/branches/branch-0.7/ql/src/test/org/apache/hadoop/hive/ql/exec/TestExecDriver.java
Modified: hive/branches/branch-0.7/ql/src/java/org/apache/hadoop/hive/ql/exec/MapRedTask.java
URL: http://svn.apache.org/viewvc/hive/branches/branch-0.7/ql/src/java/org/apache/hadoop/hive/ql/exec/MapRedTask.java?rev=1071453&r1=1071452&r2=1071453&view=diff
==============================================================================
--- hive/branches/branch-0.7/ql/src/java/org/apache/hadoop/hive/ql/exec/MapRedTask.java (original)
+++ hive/branches/branch-0.7/ql/src/java/org/apache/hadoop/hive/ql/exec/MapRedTask.java Thu Feb 17 00:01:42 2011
@@ -245,10 +245,12 @@ public class MapRedTask extends ExecDriv
// Run ExecDriver in another JVM
executor = Runtime.getRuntime().exec(cmdLine, env, new File(workDir));
- StreamPrinter outPrinter = new StreamPrinter(executor.getInputStream(),
- null, System.out);
- StreamPrinter errPrinter = new StreamPrinter(executor.getErrorStream(),
- null, System.err);
+ StreamPrinter outPrinter = new StreamPrinter(
+ executor.getInputStream(), null,
+ SessionState.getConsole().getChildOutStream());
+ StreamPrinter errPrinter = new StreamPrinter(
+ executor.getErrorStream(), null,
+ SessionState.getConsole().getChildErrStream());
outPrinter.start();
errPrinter.start();
Modified: hive/branches/branch-0.7/ql/src/java/org/apache/hadoop/hive/ql/session/SessionState.java
URL: http://svn.apache.org/viewvc/hive/branches/branch-0.7/ql/src/java/org/apache/hadoop/hive/ql/session/SessionState.java?rev=1071453&r1=1071452&r2=1071453&view=diff
==============================================================================
--- hive/branches/branch-0.7/ql/src/java/org/apache/hadoop/hive/ql/session/SessionState.java (original)
+++ hive/branches/branch-0.7/ql/src/java/org/apache/hadoop/hive/ql/session/SessionState.java Thu Feb 17 00:01:42 2011
@@ -80,9 +80,17 @@ public class SessionState {
/**
* Streams to read/write from.
*/
- public PrintStream out;
public InputStream in;
+ public PrintStream out;
public PrintStream err;
+ /**
+ * Standard output from any child process(es).
+ */
+ public PrintStream childOut;
+ /**
+ * Error output from any child process(es).
+ */
+ public PrintStream childErr;
/**
* type of the command.
@@ -299,6 +307,16 @@ public class SessionState {
return ((ss != null) && (ss.err != null)) ? ss.err : System.err;
}
+ public PrintStream getChildOutStream() {
+ SessionState ss = SessionState.get();
+ return ((ss != null) && (ss.childOut != null)) ? ss.childOut : System.out;
+ }
+
+ public PrintStream getChildErrStream() {
+ SessionState ss = SessionState.get();
+ return ((ss != null) && (ss.childErr != null)) ? ss.childErr : System.err;
+ }
+
public boolean getIsSilent() {
SessionState ss = SessionState.get();
// use the session or the one supplied in constructor
Modified: hive/branches/branch-0.7/ql/src/test/org/apache/hadoop/hive/ql/QTestUtil.java
URL: http://svn.apache.org/viewvc/hive/branches/branch-0.7/ql/src/test/org/apache/hadoop/hive/ql/QTestUtil.java?rev=1071453&r1=1071452&r2=1071453&view=diff
==============================================================================
--- hive/branches/branch-0.7/ql/src/test/org/apache/hadoop/hive/ql/QTestUtil.java (original)
+++ hive/branches/branch-0.7/ql/src/test/org/apache/hadoop/hive/ql/QTestUtil.java Thu Feb 17 00:01:42 2011
@@ -662,10 +662,10 @@ public class QTestUtil {
Process executor = Runtime.getRuntime().exec(cmdLine);
- StreamPrinter outPrinter = new StreamPrinter(executor.getInputStream(),
- null, System.out);
- StreamPrinter errPrinter = new StreamPrinter(executor.getErrorStream(),
- null, System.err);
+ StreamPrinter outPrinter = new StreamPrinter(
+ executor.getInputStream(), null, SessionState.getConsole().getChildOutStream());
+ StreamPrinter errPrinter = new StreamPrinter(
+ executor.getErrorStream(), null, SessionState.getConsole().getChildErrStream());
outPrinter.start();
errPrinter.start();
@@ -701,10 +701,10 @@ public class QTestUtil {
Process executor = Runtime.getRuntime().exec(cmdLine);
- StreamPrinter outPrinter = new StreamPrinter(executor.getInputStream(),
- null, System.out);
- StreamPrinter errPrinter = new StreamPrinter(executor.getErrorStream(),
- null, System.err);
+ StreamPrinter outPrinter = new StreamPrinter(
+ executor.getInputStream(), null, SessionState.getConsole().getChildOutStream());
+ StreamPrinter errPrinter = new StreamPrinter(
+ executor.getErrorStream(), null, SessionState.getConsole().getChildErrStream());
outPrinter.start();
errPrinter.start();
@@ -756,10 +756,10 @@ public class QTestUtil {
Process executor = Runtime.getRuntime().exec(cmdArray);
- StreamPrinter outPrinter = new StreamPrinter(executor.getInputStream(),
- null, System.out);
- StreamPrinter errPrinter = new StreamPrinter(executor.getErrorStream(),
- null, System.err);
+ StreamPrinter outPrinter = new StreamPrinter(
+ executor.getInputStream(), null, SessionState.getConsole().getChildOutStream());
+ StreamPrinter errPrinter = new StreamPrinter(
+ executor.getErrorStream(), null, SessionState.getConsole().getChildErrStream());
outPrinter.start();
errPrinter.start();
@@ -822,10 +822,10 @@ public class QTestUtil {
Process executor = Runtime.getRuntime().exec(cmdArray1);
- StreamPrinter outPrinter = new StreamPrinter(executor.getInputStream(),
- null, System.out);
- StreamPrinter errPrinter = new StreamPrinter(executor.getErrorStream(),
- null, System.err);
+ StreamPrinter outPrinter = new StreamPrinter(
+ executor.getInputStream(), null, SessionState.getConsole().getChildOutStream());
+ StreamPrinter errPrinter = new StreamPrinter(
+ executor.getErrorStream(), null, SessionState.getConsole().getChildErrStream());
outPrinter.start();
errPrinter.start();
@@ -846,10 +846,10 @@ public class QTestUtil {
Process executor = Runtime.getRuntime().exec(cmdArray);
- StreamPrinter outPrinter = new StreamPrinter(executor.getInputStream(),
- null, System.out);
- StreamPrinter errPrinter = new StreamPrinter(executor.getErrorStream(),
- null, System.err);
+ StreamPrinter outPrinter = new StreamPrinter(
+ executor.getInputStream(), null, SessionState.getConsole().getChildOutStream());
+ StreamPrinter errPrinter = new StreamPrinter(
+ executor.getErrorStream(), null, SessionState.getConsole().getChildErrStream());
outPrinter.start();
errPrinter.start();
@@ -933,10 +933,10 @@ public class QTestUtil {
Process executor = Runtime.getRuntime().exec(cmdArray);
- StreamPrinter outPrinter = new StreamPrinter(executor.getInputStream(),
- null, System.out);
- StreamPrinter errPrinter = new StreamPrinter(executor.getErrorStream(),
- null, System.err);
+ StreamPrinter outPrinter = new StreamPrinter(
+ executor.getInputStream(), null, SessionState.getConsole().getChildOutStream());
+ StreamPrinter errPrinter = new StreamPrinter(
+ executor.getErrorStream(), null, SessionState.getConsole().getChildErrStream());
outPrinter.start();
errPrinter.start();
Modified: hive/branches/branch-0.7/ql/src/test/org/apache/hadoop/hive/ql/exec/TestExecDriver.java
URL: http://svn.apache.org/viewvc/hive/branches/branch-0.7/ql/src/test/org/apache/hadoop/hive/ql/exec/TestExecDriver.java?rev=1071453&r1=1071452&r2=1071453&view=diff
==============================================================================
--- hive/branches/branch-0.7/ql/src/test/org/apache/hadoop/hive/ql/exec/TestExecDriver.java (original)
+++ hive/branches/branch-0.7/ql/src/test/org/apache/hadoop/hive/ql/exec/TestExecDriver.java Thu Feb 17 00:01:42 2011
@@ -48,6 +48,7 @@ import org.apache.hadoop.hive.ql.plan.Pl
import org.apache.hadoop.hive.ql.plan.ReduceSinkDesc;
import org.apache.hadoop.hive.ql.plan.ScriptDesc;
import org.apache.hadoop.hive.ql.plan.SelectDesc;
+import org.apache.hadoop.hive.ql.session.SessionState;
import org.apache.hadoop.hive.serde.Constants;
import org.apache.hadoop.hive.serde2.typeinfo.TypeInfoFactory;
import org.apache.hadoop.mapred.TextInputFormat;