private static Integer obtainBufferSize(Operator<?> op, ReduceSinkOperator rsOp, int defaultTinyBufferSize) {
    if (op instanceof GroupByOperator) {
      GroupByOperator groupByOperator = (GroupByOperator) op;
      if (groupByOperator.getConf().getKeys().isEmpty() &&
          groupByOperator.getConf().getMode() == GroupByDesc.Mode.MERGEPARTIAL) {
        // Check configuration and value is -1, infer value
        int result = defaultTinyBufferSize == -1 ?
            (int) Math.ceil(groupByOperator.getStatistics().getDataSize() / 1E6) :
            defaultTinyBufferSize;
        LOG.debug("Buffer size for output from operator {} can be set to {}Mb", rsOp, result);
        return result;
      }
    }
    return null;
  }
process simply remembers all the dynamic partition pruning expressions
found
ql/src/java/org/apache/hadoop/hive/ql/parse/GenTezUtils.java