You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pig.apache.org by ha...@apache.org on 2010/10/02 00:09:58 UTC
svn commit: r1003671 - in /hadoop/pig/trunk: ./ src/org/apache/pig/
src/org/apache/pig/impl/logicalLayer/validators/
src/org/apache/pig/impl/plan/ test/org/apache/pig/test/
Author: hashutosh
Date: Fri Oct 1 22:09:58 2010
New Revision: 1003671
URL: http://svn.apache.org/viewvc?rev=1003671&view=rev
Log:
PIG-1531: Pig gobbles up error messages (remaining part)
Modified:
hadoop/pig/trunk/CHANGES.txt
hadoop/pig/trunk/src/org/apache/pig/PigServer.java
hadoop/pig/trunk/src/org/apache/pig/impl/logicalLayer/validators/InputOutputFileVisitor.java
hadoop/pig/trunk/src/org/apache/pig/impl/plan/PlanValidator.java
hadoop/pig/trunk/test/org/apache/pig/test/TestInputOutputFileValidator.java
Modified: hadoop/pig/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/CHANGES.txt?rev=1003671&r1=1003670&r2=1003671&view=diff
==============================================================================
--- hadoop/pig/trunk/CHANGES.txt (original)
+++ hadoop/pig/trunk/CHANGES.txt Fri Oct 1 22:09:58 2010
@@ -24,6 +24,8 @@ INCOMPATIBLE CHANGES
IMPROVEMENTS
+PIG-1531: Pig gobbles up error messages (nrai via hashutosh)
+
PIG-1508: Make 'docs' target (forrest) work with Java 1.6 (cwsteinbach via gates)
PIG-1608: pig should always include pig-default.properties and pig.properties in the pig.jar (nrai via daijy)
Modified: hadoop/pig/trunk/src/org/apache/pig/PigServer.java
URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/src/org/apache/pig/PigServer.java?rev=1003671&r1=1003670&r2=1003671&view=diff
==============================================================================
--- hadoop/pig/trunk/src/org/apache/pig/PigServer.java (original)
+++ hadoop/pig/trunk/src/org/apache/pig/PigServer.java Fri Oct 1 22:09:58 2010
@@ -871,10 +871,10 @@ public class PigServer {
LogicalPlan storePlan = compileLp(unCompiledstorePlan, g, true);
return executeCompiledLogicalPlan(storePlan);
- } catch (Exception e) {
+ } catch (PigException e) {
int errCode = 1002;
String msg = "Unable to store alias " + id;
- throw new FrontendException(msg, errCode, PigException.INPUT, e);
+ throw new PigException(msg, errCode, PigException.INPUT, e);
}
}
Modified: hadoop/pig/trunk/src/org/apache/pig/impl/logicalLayer/validators/InputOutputFileVisitor.java
URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/src/org/apache/pig/impl/logicalLayer/validators/InputOutputFileVisitor.java?rev=1003671&r1=1003670&r2=1003671&view=diff
==============================================================================
--- hadoop/pig/trunk/src/org/apache/pig/impl/logicalLayer/validators/InputOutputFileVisitor.java (original)
+++ hadoop/pig/trunk/src/org/apache/pig/impl/logicalLayer/validators/InputOutputFileVisitor.java Fri Oct 1 22:09:58 2010
@@ -65,7 +65,7 @@ public class InputOutputFileVisitor exte
StoreFuncInterface sf = store.getStoreFunc();
String outLoc = store.getOutputFile().getFileName();
int errCode = 2116;
- String validationErrStr ="Output Location Validation Failed for: '" + outLoc ;
+ String validationErrStr ="Output Location Validation Failed for: " + outLoc ;
Job dummyJob;
try {
Modified: hadoop/pig/trunk/src/org/apache/pig/impl/plan/PlanValidator.java
URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/src/org/apache/pig/impl/plan/PlanValidator.java?rev=1003671&r1=1003670&r2=1003671&view=diff
==============================================================================
--- hadoop/pig/trunk/src/org/apache/pig/impl/plan/PlanValidator.java (original)
+++ hadoop/pig/trunk/src/org/apache/pig/impl/plan/PlanValidator.java Fri Oct 1 22:09:58 2010
@@ -53,8 +53,9 @@ public abstract class PlanValidator<O ex
messageCollector.collect("Unexpected exception in "
+ this.getClass().getSimpleName(),
MessageType.Error) ;
- throw new PlanValidationException("An unexpected exception caused "
- + "the validation to stop", ve) ;
+ String errMsg="An unexpected exception caused the validation to stop";
+ int errCode = 2257;
+ throw new PlanValidationException( errMsg, errCode, ve) ;
}
}
Modified: hadoop/pig/trunk/test/org/apache/pig/test/TestInputOutputFileValidator.java
URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/test/org/apache/pig/test/TestInputOutputFileValidator.java?rev=1003671&r1=1003670&r2=1003671&view=diff
==============================================================================
--- hadoop/pig/trunk/test/org/apache/pig/test/TestInputOutputFileValidator.java (original)
+++ hadoop/pig/trunk/test/org/apache/pig/test/TestInputOutputFileValidator.java Fri Oct 1 22:09:58 2010
@@ -23,20 +23,25 @@ import java.util.Properties;
import org.apache.pig.ExecType;
import org.apache.pig.FuncSpec;
+import org.apache.pig.PigException;
import org.apache.pig.PigServer;
+import org.apache.pig.ResourceSchema;
import org.apache.pig.backend.datastorage.DataStorage;
import org.apache.pig.backend.datastorage.ElementDescriptor;
import org.apache.pig.backend.hadoop.datastorage.ConfigurationUtil;
import org.apache.pig.backend.hadoop.executionengine.util.MapRedUtil;
+import org.apache.pig.builtin.PigStorage;
import org.apache.pig.data.Tuple;
import org.apache.pig.impl.PigContext;
import org.apache.pig.impl.io.FileLocalizer;
import org.apache.pig.impl.io.FileSpec;
+import org.apache.pig.impl.logicalLayer.FrontendException;
import org.apache.pig.impl.logicalLayer.LOLoad;
import org.apache.pig.impl.logicalLayer.LOStore;
import org.apache.pig.impl.logicalLayer.LogicalPlan;
import org.apache.pig.impl.plan.OperatorKey;
import org.apache.pig.impl.plan.NodeIdGenerator;
+import org.apache.pig.impl.plan.PlanValidationException;
import org.apache.pig.impl.logicalLayer.validators.* ;
import org.apache.pig.impl.plan.CompilationMessageCollector;
@@ -244,6 +249,26 @@ public class TestInputOutputFileValidato
}
}
}
+
+ @Test
+ public void testValidationNeg() throws Throwable{
+
+ PigServer pig = new PigServer(ExecType.MAPREDUCE,cluster.getProperties());
+ try{
+ pig.setBatchOn();
+ pig.registerQuery("A = load 'inputfile' using PigStorage () as (a:int);");
+ pig.registerQuery("store A into 'outfile' using "+DummyStorer.class.getName()+";");
+ pig.executeBatch();
+ assert false;
+ }catch(Exception fe){
+ assertTrue(fe instanceof PlanValidationException);
+ PigException pe = LogUtils.getPigException(fe);
+ assertTrue(pe instanceof FrontendException);
+ assertEquals(1115, pe.getErrorCode());
+ assertTrue(pe.getMessage().contains("Exception from DummyStorer."));
+ }
+ }
+
private LogicalPlan genNewLoadStorePlan(String inputFile,
String outputFile, DataStorage dfs)
@@ -319,4 +344,11 @@ public class TestInputOutputFileValidato
return distribElem.toString();
}
+
+ public static class DummyStorer extends PigStorage{
+ @Override
+ public void checkSchema(ResourceSchema s) throws IOException {
+ throw new FrontendException("Exception from DummyStorer.", 1115);
+ }
+ }
}