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.