Author: rohini
Date: Fri May 22 21:36:10 2015
New Revision: 1681238

URL: http://svn.apache.org/r1681238
Log:
PIG-3994: Implement getting backend exception for Tez (rohini)

Modified:
    pig/branches/branch-0.15/CHANGES.txt
    
pig/branches/branch-0.15/src/org/apache/pig/tools/pigstats/tez/TezPigScriptStats.java
    pig/branches/branch-0.15/test/org/apache/pig/test/TestEvalPipeline2.java
    pig/branches/branch-0.15/test/org/apache/pig/test/TestScalarAliases.java

Modified: pig/branches/branch-0.15/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/pig/branches/branch-0.15/CHANGES.txt?rev=1681238&r1=1681237&r2=1681238&view=diff
==============================================================================
--- pig/branches/branch-0.15/CHANGES.txt (original)
+++ pig/branches/branch-0.15/CHANGES.txt Fri May 22 21:36:10 2015
@@ -24,6 +24,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/branches/branch-0.15/src/org/apache/pig/tools/pigstats/tez/TezPigScriptStats.java
URL: 
http://svn.apache.org/viewvc/pig/branches/branch-0.15/src/org/apache/pig/tools/pigstats/tez/TezPigScriptStats.java?rev=1681238&r1=1681237&r2=1681238&view=diff
==============================================================================
--- 
pig/branches/branch-0.15/src/org/apache/pig/tools/pigstats/tez/TezPigScriptStats.java
 (original)
+++ 
pig/branches/branch-0.15/src/org/apache/pig/tools/pigstats/tez/TezPigScriptStats.java
 Fri May 22 21:36:10 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/branches/branch-0.15/test/org/apache/pig/test/TestEvalPipeline2.java
URL: 
http://svn.apache.org/viewvc/pig/branches/branch-0.15/test/org/apache/pig/test/TestEvalPipeline2.java?rev=1681238&r1=1681237&r2=1681238&view=diff
==============================================================================
--- pig/branches/branch-0.15/test/org/apache/pig/test/TestEvalPipeline2.java 
(original)
+++ pig/branches/branch-0.15/test/org/apache/pig/test/TestEvalPipeline2.java 
Fri May 22 21:36:10 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/branches/branch-0.15/test/org/apache/pig/test/TestScalarAliases.java
URL: 
http://svn.apache.org/viewvc/pig/branches/branch-0.15/test/org/apache/pig/test/TestScalarAliases.java?rev=1681238&r1=1681237&r2=1681238&view=diff
==============================================================================
--- pig/branches/branch-0.15/test/org/apache/pig/test/TestScalarAliases.java 
(original)
+++ pig/branches/branch-0.15/test/org/apache/pig/test/TestScalarAliases.java 
Fri May 22 21:36:10 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 = {


Reply via email to