[
https://issues.apache.org/jira/browse/HADOOP-6017?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12718691#action_12718691 ]
Raghu Angadi commented on HADOOP-6017:
--------------------------------------
Stacktrace of such a failure:
{noformat}
2009-06-11 07:14:30,798 ERROR org.apache.hadoop.dfs.NameNode.Secondary:
Throwable Exception in doCheckpoint:
2009-06-11 07:14:30,798 ERROR org.apache.hadoop.dfs.NameNode.Secondary:
java.lang.IllegalArgumentException: Illegal group reference
at java.util.regex.Matcher.appendReplacement(Matcher.java:713)
at java.util.regex.Matcher.replaceFirst(Matcher.java:861)
at java.lang.String.replaceFirst(String.java:2147)
at
org.apache.hadoop.dfs.LeaseManager.changeLease(LeaseManager.java:288)
at
org.apache.hadoop.dfs.FSNamesystem.changeLease(FSNamesystem.java:4441)
at org.apache.hadoop.dfs.FSEditLog.loadFSEdits(FSEditLog.java:563)
at org.apache.hadoop.dfs.FSImage.loadFSEdits(FSImage.java:846)
at
org.apache.hadoop.dfs.SecondaryNameNode$CheckpointStorage.doMerge(SecondaryNameNode.java:567)
at
org.apache.hadoop.dfs.SecondaryNameNode$CheckpointStorage.access$000(SecondaryNameNode.java:464)
at
org.apache.hadoop.dfs.SecondaryNameNode.doMerge(SecondaryNameNode.java:341)
at
org.apache.hadoop.dfs.SecondaryNameNode.doCheckpoint(SecondaryNameNode.java:305)
at
org.apache.hadoop.dfs.SecondaryNameNode.run(SecondaryNameNode.java:216)
at java.lang.Thread.run(Thread.java:619)
2009-06-11 07:14:30,842 INFO org.apache.hadoop.dfs.NameNode.Secondary:
SHUTDOWN_MSG:
/************************************************************
SHUTDOWN_MSG: Shutting down SecondaryNameNode at host/ip
************************************************************/
{noformat}
NameNode and SecondaryNameNode fail to restart because of abnormal filenames.
-----------------------------------------------------------------------------
Key: HADOOP-6017
URL:
https://issues.apache.org/jira/browse/HADOOP-6017Project: Hadoop Core
Issue Type: Bug
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
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.