[ 
https://issues.apache.org/jira/browse/HDFS-12970?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Rushabh S Shah updated HDFS-12970:
----------------------------------
    Description: 
After HDFS-12681, HdfsFileStatus#getPath() returns null.
I don't think this is expected.

Both the implementation of {{HdfsFileStatus}} sets it to null.
{code:title=HdfsNamedFileStatus.java|borderStyle=solid}
  HdfsNamedFileStatus(long length, boolean isdir, int replication,
                      long blocksize, long mtime, long atime,
                      FsPermission permission, Set<Flags> flags,
                      String owner, String group,
                      byte[] symlink, byte[] path, long fileId,
                      int childrenNum, FileEncryptionInfo feInfo,
                      byte storagePolicy, ErasureCodingPolicy ecPolicy) {
    super(length, isdir, replication, blocksize, mtime, atime,
        HdfsFileStatus.convert(isdir, symlink != null, permission, flags),
        owner, group, null, null,           ------ The last null is for path.
        HdfsFileStatus.convert(flags));
{code}


{code:title=HdfsLocatedFileStatus.java|borderStyle=solid}
  HdfsLocatedFileStatus(long length, boolean isdir, int replication,
                        long blocksize, long mtime, long atime,
                        FsPermission permission, EnumSet<Flags> flags,
                        String owner, String group,
                        byte[] symlink, byte[] path, long fileId,
                        int childrenNum, FileEncryptionInfo feInfo,
                        byte storagePolicy, ErasureCodingPolicy ecPolicy,
                        LocatedBlocks hdfsloc) {
    super(length, isdir, replication, blocksize, mtime, atime,
        HdfsFileStatus.convert(isdir, symlink != null, permission, flags),
        owner, group, null, null, HdfsFileStatus.convert(flags),  -- The last 
null on this line is for path.
        null);
{code}


  was:
After HDFS-12681, HdfsFileStatus#getPath() returns null.
I don't think this is expected.

Relevant code chunk
Both the implementation of {{HdfsFileStatus}} sets it to null.
{code:title=HdfsNamedFileStatus.java|borderStyle=solid}
  HdfsNamedFileStatus(long length, boolean isdir, int replication,
                      long blocksize, long mtime, long atime,
                      FsPermission permission, Set<Flags> flags,
                      String owner, String group,
                      byte[] symlink, byte[] path, long fileId,
                      int childrenNum, FileEncryptionInfo feInfo,
                      byte storagePolicy, ErasureCodingPolicy ecPolicy) {
    super(length, isdir, replication, blocksize, mtime, atime,
        HdfsFileStatus.convert(isdir, symlink != null, permission, flags),
        owner, group, null, null,           ------ The last null is for path.
        HdfsFileStatus.convert(flags));
{code}


{code:title=HdfsLocatedFileStatus.java|borderStyle=solid}
  HdfsLocatedFileStatus(long length, boolean isdir, int replication,
                        long blocksize, long mtime, long atime,
                        FsPermission permission, EnumSet<Flags> flags,
                        String owner, String group,
                        byte[] symlink, byte[] path, long fileId,
                        int childrenNum, FileEncryptionInfo feInfo,
                        byte storagePolicy, ErasureCodingPolicy ecPolicy,
                        LocatedBlocks hdfsloc) {
    super(length, isdir, replication, blocksize, mtime, atime,
        HdfsFileStatus.convert(isdir, symlink != null, permission, flags),
        owner, group, null, null, HdfsFileStatus.convert(flags),  -- The last 
null on this line is for path.
        null);
{code}



> HdfsFileStatus#getPath returning null.
> --------------------------------------
>
>                 Key: HDFS-12970
>                 URL: https://issues.apache.org/jira/browse/HDFS-12970
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: hdfs
>    Affects Versions: 3.1.0
>            Reporter: Rushabh S Shah
>            Priority: Critical
>
> After HDFS-12681, HdfsFileStatus#getPath() returns null.
> I don't think this is expected.
> Both the implementation of {{HdfsFileStatus}} sets it to null.
> {code:title=HdfsNamedFileStatus.java|borderStyle=solid}
>   HdfsNamedFileStatus(long length, boolean isdir, int replication,
>                       long blocksize, long mtime, long atime,
>                       FsPermission permission, Set<Flags> flags,
>                       String owner, String group,
>                       byte[] symlink, byte[] path, long fileId,
>                       int childrenNum, FileEncryptionInfo feInfo,
>                       byte storagePolicy, ErasureCodingPolicy ecPolicy) {
>     super(length, isdir, replication, blocksize, mtime, atime,
>         HdfsFileStatus.convert(isdir, symlink != null, permission, flags),
>         owner, group, null, null,           ------ The last null is for path.
>         HdfsFileStatus.convert(flags));
> {code}
> {code:title=HdfsLocatedFileStatus.java|borderStyle=solid}
>   HdfsLocatedFileStatus(long length, boolean isdir, int replication,
>                         long blocksize, long mtime, long atime,
>                         FsPermission permission, EnumSet<Flags> flags,
>                         String owner, String group,
>                         byte[] symlink, byte[] path, long fileId,
>                         int childrenNum, FileEncryptionInfo feInfo,
>                         byte storagePolicy, ErasureCodingPolicy ecPolicy,
>                         LocatedBlocks hdfsloc) {
>     super(length, isdir, replication, blocksize, mtime, atime,
>         HdfsFileStatus.convert(isdir, symlink != null, permission, flags),
>         owner, group, null, null, HdfsFileStatus.convert(flags),  -- The last 
> null on this line is for path.
>         null);
> {code}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to