[ https://issues.apache.org/jira/browse/HDFS-4372?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Chris Nauroth updated HDFS-4372: -------------------------------- Attachment: HDFS-4372.3.patch {quote} It seems like the current API is somewhat error-prone since someone could call length without first calling isLengthKnown and get an undefined result. {quote} Thanks, Colin. This is a great suggestion. I added isLengthKnown primarily to work around the {{Preconditions#checkState}} call in {{EditLogFileInputStream#URLLog#length}}. It's much simpler code to just remove that precondition check and allow the caller to check for -1. I'm attaching version 3 of the patch to make this change. {quote} Given that we read the FSImage from a file, why not just track our current position in the FSImage file, plus its total size? {quote} Since the fsimage persists multiple kinds of objects (i.e. inodes, delegation tokens, snapshot map), I thought it would be valuable to provide visibility into the specific processing steps associated with those objects. I had looked at a couple of real problems that occurred in production clusters to inform what went into this feature. One of those was HDFS-4477, in which a 2NN bug caused the fsimage to retain old delegation tokens indefinitely. With this feature, it's possible that the operator would watch startup progress, see that the page reports a crazy number of delegation tokens loaded from fsimage, and investigate further. Perhaps we would have caught bug HDFS-4477 sooner. Reporting just byte offset and total length of fsimage would provide less information. > Track NameNode startup progress > ------------------------------- > > Key: HDFS-4372 > URL: https://issues.apache.org/jira/browse/HDFS-4372 > Project: Hadoop HDFS > Issue Type: Sub-task > Components: namenode > Affects Versions: 3.0.0 > Reporter: Chris Nauroth > Assignee: Chris Nauroth > Attachments: HDFS-4372.1.patch, HDFS-4372.2.patch, HDFS-4372.3.patch > > > Track detailed progress information about the steps of NameNode startup to > enable display to users. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira