[ https://issues.apache.org/jira/browse/YARN-3160?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Chengbing Liu updated YARN-3160: -------------------------------- Description: {code:title=RMNodeImpl.java|borderStyle=solid} while(nodeUpdateQueue.peek() != null){ latestContainerInfoList.add(nodeUpdateQueue.poll()); } {code} The above code brings potential risk of adding null value to {{latestContainerInfoList}}. Since {{ConcurrentLinkedQueue}} implements a wait-free algorithm, we can directly poll the queue, before checking whether the value is null. was: {code:title=Bar.java|borderStyle=solid} while(nodeUpdateQueue.peek() != null){ latestContainerInfoList.add(nodeUpdateQueue.poll()); } {code} The above code brings potential risk of adding null value to {{latestContainerInfoList}}. Since {{ConcurrentLinkedQueue}} implements a wait-free algorithm, we can directly poll the queue, before checking whether the value is null. > Non-atomic operation on nodeUpdateQueue in RMNodeImpl > ----------------------------------------------------- > > Key: YARN-3160 > URL: https://issues.apache.org/jira/browse/YARN-3160 > Project: Hadoop YARN > Issue Type: Bug > Components: resourcemanager > Affects Versions: 2.7.0 > Reporter: Chengbing Liu > Assignee: Chengbing Liu > > {code:title=RMNodeImpl.java|borderStyle=solid} > while(nodeUpdateQueue.peek() != null){ > latestContainerInfoList.add(nodeUpdateQueue.poll()); > } > {code} > The above code brings potential risk of adding null value to > {{latestContainerInfoList}}. Since {{ConcurrentLinkedQueue}} implements a > wait-free algorithm, we can directly poll the queue, before checking whether > the value is null. -- This message was sent by Atlassian JIRA (v6.3.4#6332)