You are viewing a plain text version of this content. The canonical link for it is here.
Posted to mapreduce-issues@hadoop.apache.org by "Tianyin Xu (JIRA)" <ji...@apache.org> on 2015/12/19 22:38:46 UTC
[jira] [Created] (MAPREDUCE-6582) A number of inconsistent default
configuration values
Tianyin Xu created MAPREDUCE-6582:
-------------------------------------
Summary: A number of inconsistent default configuration values
Key: MAPREDUCE-6582
URL: https://issues.apache.org/jira/browse/MAPREDUCE-6582
Project: Hadoop Map/Reduce
Issue Type: Bug
Components: documentation
Affects Versions: 2.7.1
Reporter: Tianyin Xu
In MapReduce, a list of default configuration values are inconsistent with what is described in the docs ({{mapred-default.xml}}),
(https://hadoop.apache.org/docs/r2.7.1/hadoop-mapreduce-client/hadoop-mapreduce-client-core/)
*1. {{mapreduce.reduce.shuffle.fetch.retry.timeout-ms}}*
In mapred-default.xml, the value is {{30000}}, while it is {{180000}} in the code,
{code:title=Fetcher.java (only usage)|borderStyle=solid}
60 private static final int DEFAULT_STALLED_COPY_TIMEOUT = 3 * 60 * 1000;
...
152 this.fetchRetryTimeout = job.getInt(MRJobConfig.SHUFFLE_FETCH_RETRY_TIMEOUT_MS,
153 DEFAULT_STALLED_COPY_TIMEOUT);
{code}
*2. {{mapreduce.shuffle.ssl.file.buffer.size}}*
In mapred-default.xml, the value is {{65536}}, while it is {{61440}} in the code,
{code:title=ShuffleHandler.java (only usage)|borderStyle=solid}
203 public static final int DEFAULT_SUFFLE_SSL_FILE_BUFFER_SIZE = 60 * 1024;
...
396 sslFileBufferSize = conf.getInt(SUFFLE_SSL_FILE_BUFFER_SIZE_KEY,
397 DEFAULT_SUFFLE_SSL_FILE_BUFFER_SIZE);
{code}
This one looks quite weird, because normally it should be {{64 * 1024}} (i.e., {{65536}}). I don't know whether it's a typo...
*3. {{mapreduce.reduce.shuffle.merge.percent}}*
In mapred-default.xml, the value is {{0.66}}, while it is {{0.9}} in the code,
{code:title=MergeManagerImpl.java (only usage)|borderStyle=solid}
194 jobConf.getFloat(MRJobConfig.SHUFFLE_MERGE_PERCENT,
195 0.90f));
{code}
*4. {{mapreduce.task.timeout}}*
In mapred-default.xml, the value is {{600000}}, while it is {{300000}} in the code,
{code:title=TaskHeartbeatHandler.java (only usage)|borderStyle=solid}
90 taskTimeOut = conf.getInt(MRJobConfig.TASK_TIMEOUT, 5 * 60 * 1000);
{code}
*5. {{mapreduce.task.io.sort.factor}}*
In mapred-default.xml, the value is {{10}}, while it is {{100}} in the code,
{code:title=MergeManagerImpl.java (Usage #1)|borderStyle=solid}
175 this.ioSortFactor = jobConf.getInt(MRJobConfig.IO_SORT_FACTOR, 100);
{code}
{code:title=MapTask.java (Usage #2)|borderStyle=solid}
970 final int sortmb = job.getInt(JobContext.IO_SORT_MB, 100);
{code}
*6. {{mapreduce.job.end-notification.max.attempts}}*
In mapred-default.xml, the value is {{5}}, while it is {{1}} in the code,
{code:title=JobEndNotifier.java (only usage)|borderStyle=solid}
72 , conf.getInt(MRJobConfig.MR_JOB_END_NOTIFICATION_MAX_ATTEMPTS, 1)
{code}
*7. {{mapreduce.job.end-notification.retry.interval}}*
In mapred-default.xml, the value is {{1000}}. In the code, the default value is {{30000}}.
(actually the two usages are even not the same...)
{code:title=.../mapred/JobEndNotifier.java (Usage #1)|borderStyle=solid}
50 long retryInterval = conf.getInt(JobContext.MR_JOB_END_RETRY_INTERVAL, 30000);
{code}
{code:title=.../v2/app/JobEndNotifier.java (Usage #2)|borderStyle=solid}
75 conf.getInt(MRJobConfig.MR_JOB_END_RETRY_INTERVAL, 5000)
{code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)