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

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

+1. Patch looks good to me. Committing it now.
[~leftnoteasy], thanks for suggestion. However, let's do the code refactor work 
separately from a bug fix here. 

> 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.2.patch, 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