From bec78f9b85381bf05a2b3b1391ebeaaf4caa7ba9 Mon Sep 17 00:00:00 2001 From: Xuan Date: Thu, 23 Apr 2015 16:40:40 -0700 Subject: [PATCH] YARN-3516. killing ContainerLocalizer action doesn't take effect when private localizer receives FETCH_FAILURE status. Contributed by zhihai xu (cherry picked from commit 0b3f8957a87ada1a275c9904b211fdbdcefafb02) (cherry picked from commit 8f6053ae517d30dedece4f0577341ec3c2482252) --- hadoop-yarn-project/CHANGES.txt | 4 ++++ .../localizer/ResourceLocalizationService.java | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/hadoop-yarn-project/CHANGES.txt b/hadoop-yarn-project/CHANGES.txt index 914b1bc968a..5760f348b89 100644 --- a/hadoop-yarn-project/CHANGES.txt +++ b/hadoop-yarn-project/CHANGES.txt @@ -38,6 +38,10 @@ Release 2.7.1 - UNRELEASED YARN-3465. Use LinkedHashMap to preserve order of resource requests. (Zhihai Xu via kasha) + YARN-3516. killing ContainerLocalizer action doesn't take effect when + private localizer receives FETCH_FAILURE status.(zhihai xu via xgong) + + Release 2.7.0 - 2015-04-20 INCOMPATIBLE CHANGES 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 dd50eadf458..bb0594658a0 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 @@ -981,7 +981,7 @@ public class ResourceLocalizationService extends CompositeService case FETCH_FAILURE: final String diagnostics = stat.getException().toString(); LOG.warn(req + " failed: " + diagnostics); - response.setLocalizerAction(LocalizerAction.DIE); + action = LocalizerAction.DIE; getLocalResourcesTracker(req.getVisibility(), user, applicationId) .handle(new ResourceFailedLocalizationEvent( req, diagnostics));