David Mollitor created HIVE-24707:
-------------------------------------

             Summary: Apply Sane Default for Tez Containers as Last Resort
                 Key: HIVE-24707
                 URL: https://issues.apache.org/jira/browse/HIVE-24707
             Project: Hive
          Issue Type: Improvement
            Reporter: David Mollitor


{code:java|title=DagUtils.java}
public static Resource getContainerResource(Configuration conf) {
    int memory = HiveConf.getIntVar(conf, 
HiveConf.ConfVars.HIVETEZCONTAINERSIZE) > 0 ?
      HiveConf.getIntVar(conf, HiveConf.ConfVars.HIVETEZCONTAINERSIZE) :
      conf.getInt(MRJobConfig.MAP_MEMORY_MB, MRJobConfig.DEFAULT_MAP_MEMORY_MB);
    int cpus = HiveConf.getIntVar(conf, HiveConf.ConfVars.HIVETEZCPUVCORES) > 0 
?
      HiveConf.getIntVar(conf, HiveConf.ConfVars.HIVETEZCPUVCORES) :
      conf.getInt(MRJobConfig.MAP_CPU_VCORES, 
MRJobConfig.DEFAULT_MAP_CPU_VCORES);
    return Resource.newInstance(memory, cpus);
  }
{code}

If Tez Container Size or VCores is an invalid value ( <= 0 ) then it falls back 
onto the MapReduce configurations, but if the MapReduce configurations have 
invalid values ( <= 0 ), they are excepted regardless and this will cause 
failures down the road.

This code should also check the MapReduce values and fall back to MapReduce 
default values if they are <= 0.

Also, some logging would be nice here too, reporting about where the 
configuration values came from.
 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to