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 "Eric Payne (Commented) (JIRA)" <ji...@apache.org> on 2011/11/28 19:03:39 UTC

[jira] [Commented] (MAPREDUCE-3404) Speculative Execution: speculative map tasks launched even if -Dmapreduce.map.speculative=false

    [ https://issues.apache.org/jira/browse/MAPREDUCE-3404?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13158604#comment-13158604 ] 

Eric Payne commented on MAPREDUCE-3404:
---------------------------------------

I have two corrections to make and three observation.

* Corrections:
** The property name that controls mapper speculative execution is {{mapreduce.map.speculative}} rather than
{{mapreduce.job.maps.speculative.execution}}.
** The property name that controls reduce speculative execution is {{mapreduce.reduce.speculative}} rather than
{{mapreduce.job.reduces.speculative.execution}}.
* Observations:
** If the config values are set as follows in the _mapred-site.xml_ file, then overriding of {{mapreduce.map.speculative}}
works as expected on the command line:
{noformat}
  <property>
    <name>mapreduce.map.speculative</name>
    <value>true</value>
  </property>

  <property>
    <name>mapreduce.reduce.speculative</name>
    <value>false</value>
  </property>
{noformat}
*** That is, -Dmapreduce.map.speculative=false on the command line will override the value in the config file and turn
off speculative map execution.
** However, if mapreduce.reduce.speculative is set to true in the config file (as in the following example), it is not
possible to turn off speculative *map* execution on the command line. For some reason, setting
mapreduce.reduce.speculative to true in the config file overrides the command line value of mapreduce.map.speculative
{noformat}
  <property>
    <name>mapreduce.map.speculative</name>
    <value>true</value>
  </property>

  <property>
    <name>mapreduce.reduce.speculative</name>
    <value>true</value>
  </property>
{noformat}
** Also, if the config file sets {{mapreduce.map.speculative}} to {{false}} but leaves {{mapreduce.reduce.speculative}} set to {{true}}, the speculative execution still happens for the mappers even though {{mapreduce.reduce.speculative}} is {{false}}. So, this is not just a command line override issue.

                
> Speculative Execution: speculative map tasks launched even if -Dmapreduce.map.speculative=false
> -----------------------------------------------------------------------------------------------
>
>                 Key: MAPREDUCE-3404
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-3404
>             Project: Hadoop Map/Reduce
>          Issue Type: Bug
>          Components: job submission, mrv2
>    Affects Versions: 0.23.0
>         Environment: Hadoop version is: Hadoop 0.23.0.1110031628
> 10 node test cluster
>            Reporter: patrick white
>            Assignee: Eric Payne
>            Priority: Critical
>
> When forcing a mapper to take significantly longer than other map tasks, speculative map tasks are
> launched even if the mapreduce.job.maps.speculative.execution parameter is set to 'false'.
> Testcase: ran default WordCount job with spec execution set to false for both map and reduce but still saw a fifth mapper
> task launch, ran job as follows:
> hadoop --config <config>  jar   /tmp/testphw/wordcount.jar   WordCount  
> -Dmapreduce.job.maps.speculative.execution=false  -Dmapreduce.job.reduces.speculative.execution=false 
> /tmp/test_file_of_words* /tmp/file_of_words.out
> Input data was 4 text files >hdfs blocksize, with same word pattern plus one diff text line in each file, fourth
> file was 4 times as large as others:
> hadoop --config <config>  fs -ls  /tmp
> Found 5 items
> drwxr-xr-x   - user hdfs          0 2011-10-20 16:17 /tmp/file_of_words.out
> -rw-r--r--   3 user hdfs   62800021 2011-10-20 14:45 /tmp/test_file_of_words1
> -rw-r--r--   3 user hdfs   62800024 2011-10-20 14:46 /tmp/test_file_of_words2
> -rw-r--r--   3 user hdfs   62800024 2011-10-20 14:46 /tmp/test_file_of_words3
> -rw-r--r--   3 user hdfs  271708312 2011-10-20 15:50 /tmp/test_file_of_words4
> Job launched 5 mappers despite spec exec set to false, output snippet:
>         org.apache.hadoop.mapreduce.JobCounter
>                 NUM_FAILED_MAPS=1
>                 TOTAL_LAUNCHED_MAPS=5
>                 TOTAL_LAUNCHED_REDUCES=1
>                 RACK_LOCAL_MAPS=5
>                 SLOTS_MILLIS_MAPS=273540
>                 SLOTS_MILLIS_REDUCES=212876
> Reran same case as above only set both spec exec params to 'true', same results only this time the fifth task being
> launched is expected since spec exec = true.
> job run:
> hadoop --config <config>  jar   /tmp/testphw/wordcount.jar   WordCount  
> -Dmapreduce.job.maps.speculative.execution=true  -Dmapreduce.job.reduces.speculative.execution=true 
> /tmp/test_file_of_words* /tmp/file_of_words.out
> output snippet:
>         org.apache.hadoop.mapreduce.JobCounter
>                 NUM_FAILED_MAPS=1
>                 TOTAL_LAUNCHED_MAPS=5
>                 TOTAL_LAUNCHED_REDUCES=1
>                 RACK_LOCAL_MAPS=5
>                 SLOTS_MILLIS_MAPS=279653
>                 SLOTS_MILLIS_REDUCES=211474

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira