diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/localizer/ResourceLocalizationService.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/localizer/ResourceLocalizationService.java index 5440980..9f65b0a 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/localizer/ResourceLocalizationService.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/localizer/ResourceLocalizationService.java @@ -763,7 +763,7 @@ public void addResource(LocalizerResourceRequestEvent request) { */ if (rsrc.tryAcquire()) { - if (rsrc.getState().equals(ResourceState.DOWNLOADING)) { + if (rsrc.getState() == ResourceState.DOWNLOADING) { LocalResource resource = request.getResource().getRequest(); try { Path publicRootPath = @@ -895,7 +895,7 @@ private LocalResource findNextResource() { LocalizedResource nRsrc = evt.getResource(); // Resource download should take place ONLY if resource is in // Downloading state - if (!ResourceState.DOWNLOADING.equals(nRsrc.getState())) { + if (nRsrc.getState() != ResourceState.DOWNLOADING) { i.remove(); continue; } @@ -906,7 +906,7 @@ private LocalResource findNextResource() { * 2) Resource is still in DOWNLOADING state */ if (nRsrc.tryAcquire()) { - if (nRsrc.getState().equals(ResourceState.DOWNLOADING)) { + if (nRsrc.getState() == ResourceState.DOWNLOADING) { LocalResourceRequest nextRsrc = nRsrc.getRequest(); LocalResource next = recordFactory.newRecordInstance(LocalResource.class); @@ -1005,9 +1005,9 @@ LocalizerHeartbeatResponse update( response.setLocalizerAction(LocalizerAction.DIE); break; } - response.setLocalizerAction(LocalizerAction.LIVE); LocalResource next = findNextResource(); if (next != null) { + response.setLocalizerAction(LocalizerAction.LIVE); try { ResourceLocalizationSpec resource = NodeManagerBuilderUtils.newResourceLocalizationSpec(next, @@ -1019,6 +1019,8 @@ LocalizerHeartbeatResponse update( } catch (URISyntaxException e) { //TODO fail? Already translated several times... } + } else { + response.setLocalizerAction(LocalizerAction.DIE); } break; case FETCH_PENDING: