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