[ https://issues.apache.org/jira/browse/HADOOP-6017?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12720316#action_12720316 ]
Raghu Angadi commented on HADOOP-6017: -------------------------------------- This fixes actual bug. The edits file is not corrupted. It is just that NameNode didn't handle filenames properly for certain edit log entries. With this patch, NN and secondary NN can handle the same edit log properly. > NameNode and SecondaryNameNode fail to restart because of abnormal filenames. > ----------------------------------------------------------------------------- > > Key: HADOOP-6017 > URL: https://issues.apache.org/jira/browse/HADOOP-6017 > Project: Hadoop Core > Issue Type: Bug > Components: dfs > Affects Versions: 0.18.3 > Reporter: Raghu Angadi > Assignee: Tsz Wo (Nicholas), SZE > Priority: Blocker > Fix For: 0.18.4, 0.19.2, 0.20.1, 0.21.0 > > Attachments: 6017_20090611.patch, 6017_20090611b.patch, > HADOOP-6017-branch-18.patch, HADOOP-6017-branch-20.patch > > > SecondaryNameNode (and NameNode) fail to load the edits log. I will include > stack trace in next comment. > This is traced to the fact that LeaseManager uses {{String.relaceFirst()}} to > replace front of a sting with another string. Unfortunately > {{replaceFirst()}} uses regex, though the first argument is {{quoted}} by the > code, the second argument is not. (the second arg is not really treated as > regex but still gets processed for back references (as in '{{sed > s/first/second/g}}') > As Nicholas suggested, it is just simpler to use {{substring()}} to replace > part of the string. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.