[
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