Author: rohini
Date: Fri May 22 21:36:50 2015
New Revision: 1681240
URL: http://svn.apache.org/r1681240
Log:
PIG-3994: Implement getting backend exception for Tez (rohini)
Modified:
pig/trunk/CHANGES.txt
pig/trunk/src/org/apache/pig/tools/pigstats/tez/TezPigScriptStats.java
pig/trunk/test/org/apache/pig/test/TestEvalPipeline2.java
pig/trunk/test/org/apache/pig/test/TestScalarAliases.java
Modified: pig/trunk/CHANGES.txt
URL:
http://svn.apache.org/viewvc/pig/trunk/CHANGES.txt?rev=1681240&r1=1681239&r2=1681240&view=diff
==============================================================================
--- pig/trunk/CHANGES.txt (original)
+++ pig/trunk/CHANGES.txt Fri May 22 21:36:50 2015
@@ -32,6 +32,8 @@ INCOMPATIBLE CHANGES
IMPROVEMENTS
+PIG-3994: Implement getting backend exception for Tez (rohini)
+
PIG-4563: Upgrade to released Tez 0.7.0 (daijy)
PIG-4525: Clarify "Scalar has more than one row in the output." (Niels Basjes
via gates)
Modified: pig/trunk/src/org/apache/pig/tools/pigstats/tez/TezPigScriptStats.java
URL:
http://svn.apache.org/viewvc/pig/trunk/src/org/apache/pig/tools/pigstats/tez/TezPigScriptStats.java?rev=1681240&r1=1681239&r2=1681240&view=diff
==============================================================================
--- pig/trunk/src/org/apache/pig/tools/pigstats/tez/TezPigScriptStats.java
(original)
+++ pig/trunk/src/org/apache/pig/tools/pigstats/tez/TezPigScriptStats.java Fri
May 22 21:36:50 2015
@@ -44,6 +44,7 @@ import org.apache.pig.tools.pigstats.Pig
import org.apache.pig.tools.pigstats.ScriptState;
import org.apache.pig.tools.pigstats.tez.TezScriptState.TezDAGScriptInfo;
import org.apache.tez.dag.api.TezConfiguration;
+import org.apache.tez.dag.api.TezException;
import org.apache.tez.dag.api.client.DAGStatus;
import com.google.common.collect.Maps;
@@ -187,7 +188,9 @@ public class TezPigScriptStats extends P
tezScriptState.emitjobFinishedNotification(tezDAGStats);
} else if (dagStatus.getState() == DAGStatus.State.FAILED) {
tezDAGStats.setSuccessful(false);
- tezDAGStats.setErrorMsg(tezJob.getDiagnostics());
+ String diagnostics = tezJob.getDiagnostics();
+ tezDAGStats.setErrorMsg(diagnostics);
+ tezDAGStats.setBackendException(new TezException(diagnostics));
tezScriptState.emitJobFailedNotification(tezDAGStats);
}
tezScriptState.dagCompletedNotification(tezJob.getName(),
tezDAGStats);
Modified: pig/trunk/test/org/apache/pig/test/TestEvalPipeline2.java
URL:
http://svn.apache.org/viewvc/pig/trunk/test/org/apache/pig/test/TestEvalPipeline2.java?rev=1681240&r1=1681239&r2=1681240&view=diff
==============================================================================
--- pig/trunk/test/org/apache/pig/test/TestEvalPipeline2.java (original)
+++ pig/trunk/test/org/apache/pig/test/TestEvalPipeline2.java Fri May 22
21:36:50 2015
@@ -60,7 +60,6 @@ import org.apache.pig.impl.util.ObjectSe
import org.apache.pig.test.utils.Identity;
import org.junit.AfterClass;
import org.junit.Assert;
-import org.junit.Assume;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -1416,7 +1415,6 @@ public class TestEvalPipeline2 {
// See PIG-1826
@Test
public void testNonStandardData() throws Exception{
- Assume.assumeTrue("Skip this test for TEZ. See PIG-3994",
Util.isMapredExecType(cluster.getExecType()));
String[] input1 = {
"0",
};
@@ -1429,7 +1427,10 @@ public class TestEvalPipeline2 {
pigServer.openIterator("b");
Assert.fail();
} catch (Exception e) {
- String message = e.getCause().getCause().getMessage();
+ // Tez does not construct exceptions from stacktrace as it will
have multiple ones.
+ // So e.getCause().getCause() will be null
+ Throwable cause = e.getCause().getCause() == null ? e.getCause()
: e.getCause().getCause();
+ String message = cause.getMessage();
Assert.assertTrue(message.contains(ArrayList.class.getName()));
}
}
@@ -1437,7 +1438,6 @@ public class TestEvalPipeline2 {
// See PIG-1826
@Test
public void testNonStandardDataWithoutFetch() throws Exception{
- Assume.assumeTrue("Skip this test for TEZ. See PIG-3994",
Util.isMapredExecType(cluster.getExecType()));
Properties props = pigServer.getPigContext().getProperties();
props.setProperty(PigConfiguration.PIG_OPT_FETCH, "false");
String[] input1 = {
@@ -1674,17 +1674,17 @@ public class TestEvalPipeline2 {
public void testRankWithEmptyReduce() throws Exception {
Util.createInputFile(cluster, "table_testRankWithEmptyReduce", new
String[]{"1\t2\t3", "4\t5\t6", "7\t8\t9"});
pigServer.setDefaultParallel(4);
-
+
pigServer.registerQuery("d = load 'table_testRankWithEmptyReduce' as
(a:int, b:int, c:int);");
pigServer.registerQuery("e = rank d by a parallel 4;");
-
+
Iterator<Tuple> iter = pigServer.openIterator("e");
Collection<String> results = new HashSet<String>();
results.add("(1,1,2,3)");
results.add("(2,4,5,6)");
results.add("(3,7,8,9)");
-
+
Assert.assertTrue(results.contains(iter.next().toString()));
Assert.assertTrue(results.contains(iter.next().toString()));
Assert.assertTrue(results.contains(iter.next().toString()));
Modified: pig/trunk/test/org/apache/pig/test/TestScalarAliases.java
URL:
http://svn.apache.org/viewvc/pig/trunk/test/org/apache/pig/test/TestScalarAliases.java?rev=1681240&r1=1681239&r2=1681240&view=diff
==============================================================================
--- pig/trunk/test/org/apache/pig/test/TestScalarAliases.java (original)
+++ pig/trunk/test/org/apache/pig/test/TestScalarAliases.java Fri May 22
21:36:50 2015
@@ -28,7 +28,6 @@ import java.util.Iterator;
import org.apache.pig.PigServer;
import org.apache.pig.data.Tuple;
import org.junit.AfterClass;
-import org.junit.Assume;
import org.junit.Test;
public class TestScalarAliases {
@@ -93,7 +92,6 @@ public class TestScalarAliases {
@Test
public void testScalarErrMultipleRowsInInput() throws Exception{
- Assume.assumeTrue("Skip this test for TEZ. See PIG-3994",
Util.isMapredExecType(cluster.getExecType()));
Util.resetStateForExecModeSwitch();
pigServer = new PigServer(cluster.getExecType(),
cluster.getProperties());
String[] input = {