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

        

Reply via email to