[ https://issues.apache.org/jira/browse/HDFS-5546?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14039140#comment-14039140 ]
Lei (Eddy) Xu commented on HDFS-5546: ------------------------------------- My question is that, suppose we have directories {{/test/0..10}} and {{/other/1..10}}, and deleted {{/test/1}} during execution. The first patch will only print {{/test/0}} and {{/other/1..10}}, so that {{/test/2..10}} are ignored in this case. > 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)