hadoop-yarn-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Eric Payne (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (YARN-7051) FifoIntraQueuePreemptionPlugin can get concurrent modification exception
Date Thu, 24 Aug 2017 21:29:02 GMT

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

Eric Payne edited comment on YARN-7051 at 8/24/17 9:28 PM:
-----------------------------------------------------------

Hi [~sunilg]. Thanks for the review and the detailed reply.

{quote}
I think there is one more place we used getApplications w/o any
{code}     Collection<FiCaSchedulerApp> apps = tq.leafQueue.getAllApplications(); {code}
{quote}

The call to {{leafQueue.getApplications()}} within {{calculateUsedAMResourcesPerQueue}} gets
the actual collection of apps from the ordering policy, which can obviously change because
the leaf queue is modifying it. However, the call to {{getAllApplications}} makes a copy of
the list of running and pending apps, so this won't be changing while {{createTempAppForResCalculation}}
is looping over the list.


was (Author: eepayne):
Hi [~sunilg]. Thanks for the review and the detailed reply.

{quote}
I think there is one more place we used getApplications w/o any
{code}     Collection<FiCaSchedulerApp> apps = tq.leafQueue.getAllApplications(); {code}
{quote}

> FifoIntraQueuePreemptionPlugin can get concurrent modification exception
> ------------------------------------------------------------------------
>
>                 Key: YARN-7051
>                 URL: https://issues.apache.org/jira/browse/YARN-7051
>             Project: Hadoop YARN
>          Issue Type: Bug
>          Components: capacity scheduler, scheduler preemption, yarn
>    Affects Versions: 2.9.0, 2.8.1, 3.0.0-alpha3
>            Reporter: Eric Payne
>            Assignee: Eric Payne
>            Priority: Critical
>         Attachments: YARN-7051.001.patch
>
>
> {{FifoIntraQueuePreemptionPlugin#calculateUsedAMResourcesPerQueue}} has the following
code:
> {code}
>     Collection<FiCaSchedulerApp> runningApps = leafQueue.getApplications();
>     Resource amUsed = Resources.createResource(0, 0);
>     for (FiCaSchedulerApp app : runningApps) {
> {code}
> {{runningApps}} is unmodifiable but not concurrent. This caused the preemption monitor
thread to crash in the RM in one of our clusters.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

---------------------------------------------------------------------
To unsubscribe, e-mail: yarn-issues-unsubscribe@hadoop.apache.org
For additional commands, e-mail: yarn-issues-help@hadoop.apache.org


Mime
View raw message