hadoop-yarn-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sangjin Lee (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (YARN-1692) ConcurrentModificationException in fair scheduler AppSchedulable
Date Fri, 07 Feb 2014 02:14:21 GMT

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

Sangjin Lee commented on YARN-1692:
-----------------------------------

It seems that all access to the map that is returned by FSSchedulerApp.getResourceRequests()
is properly synchronized with the FSSchedulerApp instance, but this one is missed.

I suspect a fix here is to synchronize the iteration with the same lock. Thoughts?

> ConcurrentModificationException in fair scheduler AppSchedulable
> ----------------------------------------------------------------
>
>                 Key: YARN-1692
>                 URL: https://issues.apache.org/jira/browse/YARN-1692
>             Project: Hadoop YARN
>          Issue Type: Bug
>          Components: scheduler
>    Affects Versions: 2.0.5-alpha
>            Reporter: Sangjin Lee
>
> We saw a ConcurrentModificationException thrown in the fair scheduler:
> {noformat}
> 2014-02-07 01:40:01,978 ERROR org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler:
Exception in fair scheduler UpdateThread
> java.util.ConcurrentModificationException
>         at java.util.HashMap$HashIterator.nextEntry(HashMap.java:926)
>         at java.util.HashMap$ValueIterator.next(HashMap.java:954)
>         at org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.AppSchedulable.updateDemand(AppSchedulable.java:85)
>         at org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FSLeafQueue.updateDemand(FSLeafQueue.java:125)
>         at org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FSParentQueue.updateDemand(FSParentQueue.java:82)
>         at org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler.update(FairScheduler.java:217)
>         at org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler$UpdateThread.run(FairScheduler.java:195)
>         at java.lang.Thread.run(Thread.java:724)
> {noformat}
> The map that  gets returned by FSSchedulerApp.getResourceRequests() are iterated on without
proper synchronization.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Mime
View raw message