You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-dev@hadoop.apache.org by "Todd Lipcon (JIRA)" <ji...@apache.org> on 2012/08/02 09:29:02 UTC

[jira] [Created] (HADOOP-8640) DU thread transient failures propagate to callers

Todd Lipcon created HADOOP-8640:
-----------------------------------

             Summary: DU thread transient failures propagate to callers
                 Key: HADOOP-8640
                 URL: https://issues.apache.org/jira/browse/HADOOP-8640
             Project: Hadoop Common
          Issue Type: Bug
          Components: fs, io
    Affects Versions: 2.0.0-alpha
            Reporter: Todd Lipcon


When running some stress tests, I saw a failure where the DURefreshThread failed due to the filesystem changing underneath it:

{code}
org.apache.hadoop.util.Shell$ExitCodeException: du: cannot access `/data/4/dfs/dn/current/BP-1928785663-172.20.90.20-1343880685858/current/rbw/blk_4637779214690837894': No such file or directory
{code}
(the block was probably finalized while the du process was running, which caused it to fail)

The next block write, then, called {{getUsed()}}, and the exception got propagated causing the write to fail. Since it was a pseudo-distributed cluster, the client was unable to pick a different node to write to and failed.

The current behavior of propagating the exception to the next (and only the next) caller doesn't seem well-thought-out.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira