Author: bobby
Date: Fri Jul 6 17:19:13 2012
New Revision: 1358305
URL: http://svn.apache.org/viewvc?rev=1358305&view=rev
Log:
MAPREDUCE-4379. Node Manager throws java.lang.OutOfMemoryError: Java heap space due to org.apache.hadoop.fs.LocalDirAllocator.contexts
(Devaraj K via bobby)
Modified:
hadoop/common/trunk/hadoop-mapreduce-project/CHANGES.txt
hadoop/common/trunk/hadoop-mapreduce-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/localizer/ContainerLocalizer.java
Modified: hadoop/common/trunk/hadoop-mapreduce-project/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-mapreduce-project/CHANGES.txt?rev=1358305&r1=1358304&r2=1358305&view=diff
==============================================================================
--- hadoop/common/trunk/hadoop-mapreduce-project/CHANGES.txt (original)
+++ hadoop/common/trunk/hadoop-mapreduce-project/CHANGES.txt Fri Jul 6 17:19:13 2012
@@ -643,6 +643,10 @@ Release 0.23.3 - UNRELEASED
MAPREDUCE-4387. RM gets fatal error and exits during TestRM
(Kihwal Lee via tgraves)
+ MAPREDUCE-4379. Node Manager throws java.lang.OutOfMemoryError: Java heap
+ space due to org.apache.hadoop.fs.LocalDirAllocator.contexts (Devaraj K
+ via bobby)
+
Release 0.23.2 - UNRELEASED
INCOMPATIBLE CHANGES
Modified: hadoop/common/trunk/hadoop-mapreduce-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/localizer/ContainerLocalizer.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-mapreduce-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/localizer/ContainerLocalizer.java?rev=1358305&r1=1358304&r2=1358305&view=diff
==============================================================================
--- hadoop/common/trunk/hadoop-mapreduce-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/localizer/ContainerLocalizer.java
(original)
+++ hadoop/common/trunk/hadoop-mapreduce-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/localizer/ContainerLocalizer.java
Fri Jul 6 17:19:13 2012
@@ -91,6 +91,7 @@ public class ContainerLocalizer {
private final LocalDirAllocator userDirs;
private final RecordFactory recordFactory;
private final Map<LocalResource,Future<Path>> pendingResources;
+ private final String appCacheDirContextName;
public ContainerLocalizer(FileContext lfs, String user, String appId,
String localizerId, List<Path> localDirs,
@@ -108,10 +109,9 @@ public class ContainerLocalizer {
this.localizerId = localizerId;
this.recordFactory = recordFactory;
this.conf = new Configuration();
- this.appDirs =
- new LocalDirAllocator(String.format(APPCACHE_CTXT_FMT, appId));
- this.userDirs =
- new LocalDirAllocator(String.format(USERCACHE_CTXT_FMT, appId));
+ this.appCacheDirContextName = String.format(APPCACHE_CTXT_FMT, appId);
+ this.appDirs = new LocalDirAllocator(appCacheDirContextName);
+ this.userDirs = new LocalDirAllocator(String.format(USERCACHE_CTXT_FMT, user));
this.pendingResources = new HashMap<LocalResource,Future<Path>>();
}
@@ -121,6 +121,7 @@ public class ContainerLocalizer {
rpc.getProxy(LocalizationProtocol.class, nmAddr, conf);
}
+ @SuppressWarnings("deprecation")
public int runLocalization(final InetSocketAddress nmAddr)
throws IOException, InterruptedException {
// load credentials
@@ -177,6 +178,7 @@ public class ContainerLocalizer {
if (exec != null) {
exec.shutdownNow();
}
+ LocalDirAllocator.removeContext(appCacheDirContextName);
}
}
@@ -373,7 +375,7 @@ public class ContainerLocalizer {
lfs.mkdir(appFileCacheDir, null, false);
}
conf.setStrings(String.format(APPCACHE_CTXT_FMT, appId), appsFileCacheDirs);
- conf.setStrings(String.format(USERCACHE_CTXT_FMT, appId), usersFileCacheDirs);
+ conf.setStrings(String.format(USERCACHE_CTXT_FMT, user), usersFileCacheDirs);
}
}
|