hadoop-yarn-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Akihiro Suda (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (YARN-4301) NM disk health checker should have a timeout
Date Thu, 29 Oct 2015 04:57:27 GMT

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

Akihiro Suda commented on YARN-4301:

Here is the reproduction script: https://github.com/osrg/earthquake/tree/1ceab663baec2b93ee7309b7369ba4f9dcf3a2c2/example/yarn/4301-reproduce

I'll submit a patch to fix the bug later.

> NM disk health checker should have a timeout
> --------------------------------------------
>                 Key: YARN-4301
>                 URL: https://issues.apache.org/jira/browse/YARN-4301
>             Project: Hadoop YARN
>          Issue Type: Bug
>            Reporter: Akihiro Suda
> The disk health checker [verifies a disk|https://github.com/apache/hadoop/blob/96677bef00b03057038157efeb3c2ad4702914da/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/DirectoryCollection.java#L371-L385]
by executing {{mkdir}} and {{rmdir}} periodically.
> If these operations does not return in a moderate timeout, the disk should be marked
bad, and thus {{nodeInfo.nodeHealthy}} should flip to {{false}}.
> I confirmed that current YARN does not have an implicit timeout (on JDK7, Linux 4.2,
ext4) using [Earthquake|https://github.com/osrg/earthquake], our fault injector for distributed
> (I'll introduce the reproduction script in a while)
> I consider we can fix this issue by making [{{NodeHealthCheckerServer.isHealthy()}}|https://github.com/apache/hadoop/blob/96677bef00b03057038157efeb3c2ad4702914da/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/NodeHealthCheckerService.java#L69-L73]
return {{false}} if the value of {{this.getLastHealthReportTime()}} is too old.

This message was sent by Atlassian JIRA

View raw message