Uploaded image for project: 'Pig'
  1. Pig
  2. PIG-634

When POUnion is one of the roots of a map plan, POUnion.getNext() gives a null pointer exception

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 0.2.0
    • 0.2.0
    • None
    • None

    Description

      POUnion.getnext() gives a null pointer exception in the following scenario (pasted from a code comment explaining the fix for this issue). If a script results in a plan like the one below, currently POUnion.getNext() gives a null pointer exception

                      
                      // POUnion
                      // |
                      // |--POLocalRearrange
                      // |    |
                      // |    |-POUnion (root 2)--> This union's getNext() can lead the code here
                      // |
                      // |--POLocalRearrange (root 1)
                      
                      // The inner POUnion above is a root in the plan which has 2 roots.
                      // So these 2 roots would have input coming from different input
                      // sources (dfs files). So certain maps would be working on input only
                      // meant for "root 1" above and some maps would work on input
                      // meant only for "root 2". In the former case, "root 2" would
                      // neither get input attached to it nor does it have predecessors
      

      A script which can cause a plan like above is:

      a = load 'xyz'; 
      b = load 'abc'; 
      c = union a,b; 
      d = load 'def'; 
      e = cogroup c by $0 inner , d by $0 inner;
      dump e;
      

      Attachments

        1. PIG-634.patch
          5 kB
          Pradeep Kamath

        Activity

          People

            pkamath Pradeep Kamath
            pkamath Pradeep Kamath
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: