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

Bikas Saha commented on YARN-771:
---------------------------------

What if we add node to blacklist and them remove that node from blacklist 
immediately? Wont it end up in both list?
Also, should it be an error to specify the same node in both lists in the same 
method call? In that too, we may end up with the same node in both lists.
{code}
+  @Override
+  public synchronized void updateBlackList(List<String> blacklistAdditions,
+      List<String> blacklistRemovals) {
+    if (blacklistAdditions != null) {
+      this.blacklistAdditions.addAll(blacklistAdditions);
+      // if some nodes are also in blacklistRemovals updated before, we should
+      // remove them here.
+      this.blacklistRemovals.removeAll(blacklistAdditions);
+    }
+    
+    if (blacklistRemovals != null) {
+      // we don't need to handle blacklistAdditions as if same nodes are 
duplicated
+      // in blacklistAdditions, only blacklistRemovals works and nodes will be 
+      // removed from black list.
+      this.blacklistRemovals.addAll(blacklistRemovals);
+    }
+  }
{code}

Can we modify TestAMRMClient.testAllocation() to check that on an exception 
during allocate we continue to preserve the previous blacklist and any new 
blacklist additions that were made during the allocate call. The test already 
has support for this. We just need to augment it with blacklist operations.

Minor nit Blacklist reads better than BlackList.

                
> AMRMClient  support for resource blacklisting
> ---------------------------------------------
>
>                 Key: YARN-771
>                 URL: https://issues.apache.org/jira/browse/YARN-771
>             Project: Hadoop YARN
>          Issue Type: Sub-task
>            Reporter: Bikas Saha
>            Assignee: Junping Du
>         Attachments: YARN-771-v1.0.patch, YARN-771-v2.patch, YARN-771-v3.patch
>
>
> After YARN-750 AMRMClient should support blacklisting via the new YARN API's

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to