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 "Peter Bacsko (JIRA)" <ji...@apache.org> on 2018/02/20 15:47:00 UTC

[jira] [Created] (MAPREDUCE-7056) Ensure that mapreduce.job.reduces is not negative

Peter Bacsko created MAPREDUCE-7056:
---------------------------------------

             Summary: Ensure that mapreduce.job.reduces is not negative
                 Key: MAPREDUCE-7056
                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-7056
             Project: Hadoop Map/Reduce
          Issue Type: Bug
          Components: client
            Reporter: Peter Bacsko
            Assignee: Peter Bacsko


Recently we've seen a strange problem that was related to {{mapreduce.job.reduces}} being set to -1. If this value is negative, two things can happen:

1. If we use the old API, then the mappers will pass, but the number of reducers will be recorded as "-1" if we open it later from JHS. This can confuse Hadoop users.

2. If use the new API, then we'll see a not-so-obvious stack trace:

{noformat}
2018-02-20 06:37:35,493 INFO [main] org.apache.hadoop.mapred.MapTask: Starting flush of map output
2018-02-20 06:37:35,507 INFO [main] org.apache.hadoop.mapred.MapTask: Starting flush of map output
2018-02-20 06:37:35,507 INFO [main] org.apache.hadoop.mapred.MapTask: kvbuffer is null. Skipping flush.
2018-02-20 06:37:35,508 WARN [main] org.apache.hadoop.mapred.YarnChild: Exception running child : java.lang.IllegalArgumentException
	at java.nio.ByteBuffer.allocate(ByteBuffer.java:334)
	at org.apache.hadoop.mapred.SpillRecord.<init>(SpillRecord.java:51)
	at org.apache.hadoop.mapred.MapTask$MapOutputBuffer.mergeParts(MapTask.java:1891)
	at org.apache.hadoop.mapred.MapTask$MapOutputBuffer.flush(MapTask.java:1527)
	at org.apache.hadoop.mapred.MapTask$NewOutputCollector.close(MapTask.java:735)
	at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:805)
	at org.apache.hadoop.mapred.MapTask.run(MapTask.java:347)
	at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:174)
	at java.security.AccessController.doPrivileged(Native Method)
	at javax.security.auth.Subject.doAs(Subject.java:422)
	at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1962)
	at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:168)
{noformat}

and the job fails.

We should either fail if this property is negative or set to "0" to avoid this.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: mapreduce-issues-unsubscribe@hadoop.apache.org
For additional commands, e-mail: mapreduce-issues-help@hadoop.apache.org