throws SemanticException {
OptimizeTezProcContext context = (OptimizeTezProcContext) procContext;
AppMasterEventOperator event = (AppMasterEventOperator) nd;
AppMasterEventDesc desc = event.getConf();
if (desc.getStatistics().getDataSize() > context.conf
.getLongVar(ConfVars.TEZ_DYNAMIC_PARTITION_PRUNING_MAX_DATA_SIZE)) {
Operator<?> child = event;
Operator<?> curr = event;
while (curr.getChildOperators().size() <= 1) {
child = curr;
curr = curr.getParentOperators().get(0);
}
// at this point we've found the fork in the op pipeline that has the
// pruning as a child plan.
LOG.info("Disabling dynamic pruning for: "
+ ((DynamicPruningEventDesc) desc).getTableScan().getName()
+ ". Expected data size is too big: " + desc.getStatistics().getDataSize());
curr.removeChild(child);
}
return false;
}