[ 
https://issues.apache.org/jira/browse/YARN-3160?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14312342#comment-14312342
 ] 

Junping Du commented on YARN-3160:
----------------------------------

Hi [~chengbing.liu], thanks for reporting the issue here. However, the patch 
attached seems only pull the head of queue (the oldest one) instead of pull all 
UpdatedContainerInfos in nodeUpdateQueue which doesn't sounds right to me. Can 
you check the patch again?

> 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
>         Attachments: YARN-3160.patch
>
>
> {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)

Reply via email to