You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by ro...@apache.org on 2016/06/29 04:39:59 UTC
hadoop git commit: YARN-5262. Optimize sending
RMNodeFinishedContainersPulledByAMEvent for every AM heartbeat.
Repository: hadoop
Updated Branches:
refs/heads/trunk b3649adf6 -> 26b5e6116
YARN-5262. Optimize sending RMNodeFinishedContainersPulledByAMEvent for every AM heartbeat.
Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/26b5e611
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/26b5e611
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/26b5e611
Branch: refs/heads/trunk
Commit: 26b5e6116f392b6be91dca57968259f87554ce33
Parents: b3649ad
Author: Rohith Sharma K S <ro...@apache.org>
Authored: Wed Jun 29 10:08:30 2016 +0530
Committer: Rohith Sharma K S <ro...@apache.org>
Committed: Wed Jun 29 10:08:30 2016 +0530
----------------------------------------------------------------------
.../resourcemanager/rmapp/attempt/RMAppAttemptImpl.java | 9 ++++++---
.../rmapp/attempt/TestRMAppAttemptTransitions.java | 7 +++++++
2 files changed, 13 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hadoop/blob/26b5e611/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/rmapp/attempt/RMAppAttemptImpl.java
----------------------------------------------------------------------
diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/rmapp/attempt/RMAppAttemptImpl.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/rmapp/attempt/RMAppAttemptImpl.java
index d210b53..9ec0f82 100644
--- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/rmapp/attempt/RMAppAttemptImpl.java
+++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/rmapp/attempt/RMAppAttemptImpl.java
@@ -826,9 +826,11 @@ public class RMAppAttemptImpl implements RMAppAttempt, Recoverable {
}
}
- finishedContainersSentToAM.putIfAbsent(nodeId, new ArrayList
- <ContainerStatus>());
- finishedContainersSentToAM.get(nodeId).addAll(finishedContainers);
+ if (!finishedContainers.isEmpty()) {
+ finishedContainersSentToAM.putIfAbsent(nodeId,
+ new ArrayList<ContainerStatus>());
+ finishedContainersSentToAM.get(nodeId).addAll(finishedContainers);
+ }
}
return returnList;
@@ -1871,6 +1873,7 @@ public class RMAppAttemptImpl implements RMAppAttempt, Recoverable {
eventHandler.handle(new RMNodeFinishedContainersPulledByAMEvent(nodeId,
containerIdList));
}
+ this.finishedContainersSentToAM.clear();
}
// Add am container to the list so that am container instance will be
http://git-wip-us.apache.org/repos/asf/hadoop/blob/26b5e611/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/rmapp/attempt/TestRMAppAttemptTransitions.java
----------------------------------------------------------------------
diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/rmapp/attempt/TestRMAppAttemptTransitions.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/rmapp/attempt/TestRMAppAttemptTransitions.java
index 3143b94..497c6d0 100644
--- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/rmapp/attempt/TestRMAppAttemptTransitions.java
+++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/rmapp/attempt/TestRMAppAttemptTransitions.java
@@ -1444,6 +1444,13 @@ public class TestRMAppAttemptTransitions {
Assert.assertTrue(applicationAttempt.getJustFinishedContainers().isEmpty());
Assert.assertEquals(0, getFinishedContainersSentToAM(applicationAttempt)
.size());
+
+ // verify if no containers to acknowledge to NM then event should not be
+ // triggered. Number of times event invoked is 1 i.e on second pull
+ containerStatuses = applicationAttempt.pullJustFinishedContainers();
+ Assert.assertEquals(0, containerStatuses.size());
+ Mockito.verify(rmnodeEventHandler, times(1))
+ .handle(Mockito.any(RMNodeEvent.class));
}
private static List<ContainerStatus> getFinishedContainersSentToAM(
---------------------------------------------------------------------
To unsubscribe, e-mail: common-commits-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-commits-help@hadoop.apache.org