diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/rmnode/RMNodeImpl.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/rmnode/RMNodeImpl.java index b3020b7..f02543c 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/rmnode/RMNodeImpl.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/rmnode/RMNodeImpl.java @@ -842,8 +842,9 @@ public NodeState transition(RMNodeImpl rmNode, RMNodeEvent event) { public List pullContainerUpdates() { List latestContainerInfoList = new ArrayList(); - while(nodeUpdateQueue.peek() != null){ - latestContainerInfoList.add(nodeUpdateQueue.poll()); + UpdatedContainerInfo containerInfo = nodeUpdateQueue.poll(); + if (containerInfo != null) { + latestContainerInfoList.add(containerInfo); } this.nextHeartBeat = true; return latestContainerInfoList;