1. ConditionalTask.java: 80 if(DriverContext.isLaunchable(child))
Shouldnt this be a assert instead ?
2. SkewJoinResolver: shouldnt it check for HIVESKEWJOINKEY and get out if not set.
3. ExplainPlan should also show subtasks of conditional tasks at the top stage
4. Seems like after the skew join conditional task, the dependency between the original join and the old children will
still be kept - it can be removed.
5. Last alias/tag for join does not need a conditional task - the last is the last one in the order.
6. Instead of serializing/deserializing mapredWork, it might be a good idea to add a clone to mapredWork - it can be done
in a followup patch also.
7. GenMRSkewJoinProcessor.java:253 wont localPlan always be null
8. Can there be a fetchWork in the conditional task ?
9. processSkewJoin: do you think it would be cleaner if you break it up into multiple functions ?