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

Reply via email to