You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "David Mollitor (Jira)" <ji...@apache.org> on 2021/01/31 15:24:00 UTC
[jira] [Created] (HIVE-24707) Apply Sane Default for Tez Containers
as Last Resort
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)