You are viewing a plain text version of this content. The canonical link for it is here.
Posted to yarn-issues@hadoop.apache.org by "Omkar Vinit Joshi (JIRA)" <ji...@apache.org> on 2013/04/16 02:48:16 UTC

[jira] [Updated] (YARN-547) Race condition in Public / Private Localizer may result into resource getting downloaded again

     [ https://issues.apache.org/jira/browse/YARN-547?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Omkar Vinit Joshi updated YARN-547:
-----------------------------------

    Summary: Race condition in Public / Private Localizer may result into resource getting downloaded again  (was: Race condition in Public Localizer may result into resource getting downloaded again)
    
> Race condition in Public / Private Localizer may result into resource getting downloaded again
> ----------------------------------------------------------------------------------------------
>
>                 Key: YARN-547
>                 URL: https://issues.apache.org/jira/browse/YARN-547
>             Project: Hadoop YARN
>          Issue Type: Sub-task
>            Reporter: Omkar Vinit Joshi
>            Assignee: Omkar Vinit Joshi
>         Attachments: yarn-547-20130411.1.patch, yarn-547-20130411.patch, yarn-547-20130412.patch, yarn-547-20130415.patch
>
>
> At present when multiple containers try to request a localized resource 
> * If the resource is not present then first it is created and Resource Localization starts ( LocalizedResource is in DOWNLOADING state)
> * Now if in this state multiple ResourceRequestEvents come in then ResourceLocalizationEvents are fired for all of them.
> Most of the times it is not resulting into a duplicate resource download but there is a race condition present there. Inside ResourceLocalization (for public download) all the requests are added to local attempts map. If a new request comes in then first it is checked in this map before a new download starts for the same. For the current download the request will be there in the map. Now if a same resource request comes in then it will rejected (i.e. resource is getting downloaded already). However if the current download completes then the request will be removed from this local map. Now after this removal if the LocalizerRequestEvent comes in then as it is not present in 
> The root cause for this is the presence of FetchResourceTransition on receiving ResourceRequestEvent in DOWNLOADING state.

--
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