[
https://issues.apache.org/jira/browse/HADOOP-16082?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16904682#comment-16904682
]
Steve Loughran commented on HADOOP-16082:
-----------------------------------------
I'm unsure where to go with this. Looking at the new patch, parsing toString()
is brittle and dangerous too.
Maybe the strategy would actually be not to expose this as a general purpose fs
shell command but some @Unstable lower level diagnostics entry point the
dfsclient JAR itself, which can call dfs file status fields directly.
This also lets us/you explore different APIs to get at the data
As an example, look at the cloudstore side project of mine, whose list command
use `FileSystem.listFiles(path, recursive=true)` for higher performance on
object stores, and its filestatus command prints the file status direct. In
fact, that filestatus command may actually already do what you want, just
extend it to list sets/paths
if you want to do changes there, then you can submit the PR and I can get a new
release out in a day or two; I like my agile dev there
> FsShell ls: Add option -i to print inode id
> -------------------------------------------
>
> Key: HADOOP-16082
> URL: https://issues.apache.org/jira/browse/HADOOP-16082
> Project: Hadoop Common
> Issue Type: Improvement
> Components: common
> Affects Versions: 3.2.0, 3.1.1
> Reporter: Siyao Meng
> Assignee: Siyao Meng
> Priority: Major
> Attachments: HADOOP-16082.001.patch
>
>
> When debugging the FSImage corruption issue, I often need to know a file's or
> directory's inode id. At this moment, the only way to do that is to use OIV
> tool to dump the FSImage and look up the filename, which is very inefficient.
> Here I propose adding option "-i" in FsShell that prints files' or
> directories' inode id.
> h2. Implementation
> h3. For hdfs:// (HDFS)
> fileId exists in HdfsLocatedFileStatus, which is already returned to
> hdfs-client. We just need to print it in Ls#processPath().
> h3. For file:// (Local FS)
> h4. Linux
> Use java.nio.
> h4. Windows
> Windows has the concept of "File ID" which is similar to inode id. It is
> unique in NTFS and ReFS.
> h3. For other FS
> The fileId entry will be "0" in FileStatus if it is not set. We could either
> ignore or throw an exception.
--
This message was sent by Atlassian JIRA
(v7.6.14#76016)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]