YARN-1575. Public localizer crashes with "Localized unkown resource". Contributed by Jason Lowe
git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1561110 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
20176840f6
commit
3497e76e19
|
@ -366,6 +366,9 @@ Release 2.4.0 - UNRELEASED
|
|||
YARN-1607. TestRM relies on the scheduler assigning multiple containers in
|
||||
a single node update (Sandy Ryza)
|
||||
|
||||
YARN-1575. Public localizer crashes with "Localized unkown resource"
|
||||
(jlowe)
|
||||
|
||||
Release 2.3.0 - UNRELEASED
|
||||
|
||||
INCOMPATIBLE CHANGES
|
||||
|
|
|
@ -638,8 +638,8 @@ public class ResourceLocalizationService extends CompositeService
|
|||
super("Public Localizer");
|
||||
this.lfs = getLocalFileContext(conf);
|
||||
this.conf = conf;
|
||||
this.pending =
|
||||
new ConcurrentHashMap<Future<Path>, LocalizerResourceRequestEvent>();
|
||||
this.pending = Collections.synchronizedMap(
|
||||
new HashMap<Future<Path>, LocalizerResourceRequestEvent>());
|
||||
this.threadPool = createLocalizerExecutor(conf);
|
||||
this.queue = new ExecutorCompletionService<Path>(threadPool);
|
||||
}
|
||||
|
@ -675,8 +675,12 @@ public class ResourceLocalizationService extends CompositeService
|
|||
publicDirDestPath =
|
||||
new Path(publicDirDestPath, Long.toString(publicRsrc
|
||||
.nextUniqueNumber()));
|
||||
pending.put(queue.submit(new FSDownload(lfs, null, conf,
|
||||
publicDirDestPath, resource)), request);
|
||||
// explicitly synchronize pending here to avoid future task
|
||||
// completing and being dequeued before pending updated
|
||||
synchronized (pending) {
|
||||
pending.put(queue.submit(new FSDownload(lfs, null, conf,
|
||||
publicDirDestPath, resource)), request);
|
||||
}
|
||||
} catch (IOException e) {
|
||||
rsrc.unlock();
|
||||
// TODO Need to Fix IO Exceptions - Notifying resource
|
||||
|
|
Loading…
Reference in New Issue