[ https://issues.apache.org/jira/browse/HDFS-5546?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14039207#comment-14039207 ]
Daryn Sharp commented on HDFS-5546: ----------------------------------- In your example, what are you listing? "hadoop fs -ls -R /" or "hadoop fs -ls -R /test /other"? Why will it stop? The exception will be caught, displayed, and it moves to the next item. BTW, checked gnu coreutils and ls will immediately emit a warning about a path that disappears, and eventually exit with status 1 when done which matches FsShell's behavior. {noformat} /* Exit statuses. */ enum { /* "ls" had a minor problem. E.g., while processing a directory, ls obtained the name of an entry via readdir, yet was later unable to stat that name. This happens when listing a directory in which entries are actively being removed or renamed. */ LS_MINOR_PROBLEM = 1, {noformat} > race condition crashes "hadoop ls -R" when directories are moved/removed > ------------------------------------------------------------------------ > > Key: HDFS-5546 > URL: https://issues.apache.org/jira/browse/HDFS-5546 > Project: Hadoop HDFS > Issue Type: Bug > Affects Versions: 2.2.0 > Reporter: Colin Patrick McCabe > Assignee: Lei (Eddy) Xu > Priority: Minor > Fix For: 3.0.0 > > Attachments: HDFS-5546.1.patch, HDFS-5546.2.000.patch, > HDFS-5546.2.001.patch, HDFS-5546.2.002.patch, HDFS-5546.2.003.patch > > > This seems to be a rare race condition where we have a sequence of events > like this: > 1. org.apache.hadoop.shell.Ls calls DFS#getFileStatus on directory D. > 2. someone deletes or moves directory D > 3. org.apache.hadoop.shell.Ls calls PathData#getDirectoryContents(D), which > calls DFS#listStatus(D). This throws FileNotFoundException. > 4. ls command terminates with FNF -- This message was sent by Atlassian JIRA (v6.2#6252)