hadoop-mapreduce-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Vitthal Gogate (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (MAPREDUCE-5649) Reduce cannot use more than 2G memory for the final merge
Date Mon, 09 Dec 2013 16:58:07 GMT

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

Vitthal Gogate commented on MAPREDUCE-5649:
-------------------------------------------

I changed the code to make it long and it lowered the disk spills considerably when enough
memory is given to reducers. There are some other places where Interger.MAX_VALUE is used
which need be corrected. 

In MergeManagerImpl.java following code is changed to use Long value,

- int maxInMemReduce = (int)Math.min(
-        Runtime.getRuntime().maxMemory() * maxRedPer, Integer.MAX_VALUE);

+long maxInMemReduce = Math.min(
+        (long)(Runtime.getRuntime().maxMemory() * maxRedPer), Long.MAX_VALUE);

I will submit the patch soon. 




> Reduce cannot use more than 2G memory  for the final merge
> ----------------------------------------------------------
>
>                 Key: MAPREDUCE-5649
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-5649
>             Project: Hadoop Map/Reduce
>          Issue Type: Bug
>          Components: mrv2
>    Affects Versions: trunk
>            Reporter: stanley shi
>
> In the org.apache.hadoop.mapreduce.task.reduce.MergeManagerImpl.java file, in the finalMerge
method: 
>  int maxInMemReduce = (int)Math.min(
>         Runtime.getRuntime().maxMemory() * maxRedPer, Integer.MAX_VALUE);
>  
> This means no matter how much memory user has, reducer will not retain more than 2G data
in memory before the reduce phase starts.



--
This message was sent by Atlassian JIRA
(v6.1.4#6159)

Mime
View raw message