[
https://issues.apache.org/jira/browse/YARN-3762?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14571409#comment-14571409
]
Arun Suresh commented on YARN-3762:
-----------------------------------
[~kasha], Thanks for the patch
* In the {{assignContainer}} method, you are sorting the collection under a
write lock and then assigning the container within the read lock, what happens
if the collection is modified in between.. shouldnt we have the write lock
encompass both operations ? I agree, It will not lead to the Exception (which
is the point of the JIRA) but I feel it should be done for correctness.
* One other possible improvement is maybe instead of using a List and sorting
it everytime, we could use a Sorted Bag (MultiSet) ? which keeps the list in
sorted order ?
> FairScheduler: CME on FSParentQueue#getQueueUserAclInfo
> -------------------------------------------------------
>
> Key: YARN-3762
> URL: https://issues.apache.org/jira/browse/YARN-3762
> Project: Hadoop YARN
> Issue Type: Bug
> Components: fairscheduler
> Affects Versions: 2.7.0
> Reporter: Karthik Kambatla
> Assignee: Karthik Kambatla
> Priority: Critical
> Attachments: yarn-3762-1.patch, yarn-3762-1.patch
>
>
> In our testing, we ran into the following ConcurrentModificationException:
> {noformat}
> halxg.cloudera.com:8042, nodeRackName/rackvb07, nodeNumContainers0
> 15/05/22 13:02:22 INFO distributedshell.Client: Queue info,
> queueName=root.testyarnpool3, queueCurrentCapacity=0.0,
> queueMaxCapacity=-1.0, queueApplicationCount=0, queueChildQueueCount=0
> 15/05/22 13:02:22 FATAL distributedshell.Client: Error running Client
> java.util.ConcurrentModificationException:
> java.util.ConcurrentModificationException
> at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:901)
> at java.util.ArrayList$Itr.next(ArrayList.java:851)
> at
> org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FSParentQueue.getQueueUserAclInfo(FSParentQueue.java:155)
> at
> org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler.getQueueUserAclInfo(FairScheduler.java:1395)
> at
> org.apache.hadoop.yarn.server.resourcemanager.ClientRMService.getQueueUserAcls(ClientRMService.java:880)
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)