ReverseDependencyOrderWalker throws NullPointerException
--------------------------------------------------------
Key: PIG-1906
URL: https://issues.apache.org/jira/browse/PIG-1906
Project: Pig
Issue Type: Bug
Affects Versions: 0.8.0
Reporter: Bill Graham
We upgraded to Pig 0.8.0 in production last week and over the weekend a job
failed with the following exception, which we hadn't seen with Pig 0.7.0:
{code}
Error in new logical plan. Try -Dpig.usenewlogicalplan=false.
(org.apache.pig.impl.logicalLayer.FrontendException)
java.lang.NullPointerException
at
org.apache.pig.newplan.ReverseDependencyOrderWalker.walk(ReverseDependencyOrderWalker.java:70)
at org.apache.pig.newplan.PlanVisitor.visit(PlanVisitor.java:50)
at
org.apache.pig.newplan.logical.optimizer.SchemaResetter.visit(SchemaResetter.java:105)
at
org.apache.pig.newplan.logical.relational.LOGenerate.accept(LOGenerate.java:229)
at
org.apache.pig.newplan.DependencyOrderWalker.walk(DependencyOrderWalker.java:75)
at
org.apache.pig.newplan.logical.optimizer.SchemaResetter.visit(SchemaResetter.java:94)
at
org.apache.pig.newplan.logical.relational.LOForEach.accept(LOForEach.java:71)
at
org.apache.pig.newplan.DependencyOrderWalker.walk(DependencyOrderWalker.java:75)
at org.apache.pig.newplan.PlanVisitor.visit(PlanVisitor.java:50)
at
org.apache.pig.backend.hadoop.executionengine.HExecutionEngine.compile(HExecutionEngine.java:261)
at org.apache.pig.PigServer.compilePp(PigServer.java:1354)
at
org.apache.pig.PigServer.executeCompiledLogicalPlan(PigServer.java:1196)
at org.apache.pig.PigServer.execute(PigServer.java:1190)
at org.apache.pig.PigServer.access$100(PigServer.java:128)
at org.apache.pig.PigServer$Graph.execute(PigServer.java:1517)
at org.apache.pig.PigServer.executeBatchEx(PigServer.java:362)
at org.apache.pig.PigServer.executeBatch(PigServer.java:329)
{code}
I have no idea how to reproduce it, since it happened once on a job that runs
successfully every 5 minutes against time-sensitive input data. Looking at the
code it seems like maybe the following call resulted in a null element in the
roots List:
{code}
List<Operator> roots = plan.getSources();
{code}
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira