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 "Lavkesh Lahngir (JIRA)" <ji...@apache.org> on 2015/06/02 11:32:18 UTC

[jira] [Commented] (YARN-3591) Resource Localisation on a bad disk causes subsequent containers failure

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

Lavkesh Lahngir commented on YARN-3591:
---------------------------------------

[~zxu] :Can we get away without storing into NMstateStore? Other changes seems to be okay.
It's not a big change in terms of the code, but adding in NMstate could be debatable.
[~vvasudev]: Thoughts?

> Resource Localisation on a bad disk causes subsequent containers failure 
> -------------------------------------------------------------------------
>
>                 Key: YARN-3591
>                 URL: https://issues.apache.org/jira/browse/YARN-3591
>             Project: Hadoop YARN
>          Issue Type: Bug
>    Affects Versions: 2.7.0
>            Reporter: Lavkesh Lahngir
>            Assignee: Lavkesh Lahngir
>         Attachments: 0001-YARN-3591.1.patch, 0001-YARN-3591.patch, YARN-3591.2.patch, YARN-3591.3.patch, YARN-3591.4.patch
>
>
> It happens when a resource is localised on the disk, after localising that disk has gone bad. NM keeps paths for localised resources in memory.  At the time of resource request isResourcePresent(rsrc) will be called which calls file.exists() on the localised path.
> In some cases when disk has gone bad, inodes are stilled cached and file.exists() returns true. But at the time of reading, file will not open.
> Note: file.exists() actually calls stat64 natively which returns true because it was able to find inode information from the OS.
> A proposal is to call file.list() on the parent path of the resource, which will call open() natively. If the disk is good it should return an array of paths with length at-least 1.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)