Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
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;