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

Chris Douglas updated HDFS-6984:
--------------------------------
       Resolution: Fixed
         Assignee: Chris Douglas  (was: Colin P. McCabe)
     Hadoop Flags: Incompatible change,Reviewed  (was: Incompatible change)
    Fix Version/s: 3.0.0-beta1
     Release Note: FileStatus and FsPermission Writable serialization is 
deprecated and its implementation (incompatibly) replaced with protocol 
buffers. The FsPermissionProto record moved from hdfs.proto to acl.proto. 
HdfsFileStatus is now a subtype of FileStatus. FsPermissionExtension with its 
associated flags for ACLs, encryption, and erasure coding has been deprecated; 
users should query these attributes on the FileStatus object directly. The 
FsPermission instance in AclStatus no longer retains or reports these extended 
attributes (likely unused).  (was: FileStatus and FsPermission Writable 
serialization is deprecated and its implementation (incompatibly) replaced with 
protocol buffers. The FsPermissionProto record moved from hdfs.proto to 
acl.proto. HdfsFileStatus is now a subtype of FileStatus. FsPermissionExtension 
with its associated flags for ACLs, encryption, and erasure coding has been 
deprecated; users should query these attributes on the FileStatus object 
directly.)
           Status: Resolved  (was: Patch Available)

I committed this.

> Serialize FileStatus via protobuf
> ---------------------------------
>
>                 Key: HDFS-6984
>                 URL: https://issues.apache.org/jira/browse/HDFS-6984
>             Project: Hadoop HDFS
>          Issue Type: Improvement
>    Affects Versions: 3.0.0-alpha1
>            Reporter: Colin P. McCabe
>            Assignee: Chris Douglas
>              Labels: BB2015-05-TBR
>             Fix For: 3.0.0-beta1
>
>         Attachments: HDFS-6984.001.patch, HDFS-6984.002.patch, 
> HDFS-6984.003.patch, HDFS-6984.004.patch, HDFS-6984.005.patch, 
> HDFS-6984.006.patch, HDFS-6984.007.patch, HDFS-6984.008.patch, 
> HDFS-6984.009.patch, HDFS-6984.010.patch, HDFS-6984.011.patch, 
> HDFS-6984.012.patch, HDFS-6984.013.patch, HDFS-6984.014.patch, 
> HDFS-6984.015.patch, HDFS-6984.nowritable.patch
>
>
> FileStatus was a Writable in Hadoop 2 and earlier.  Originally, we used this 
> to serialize it and send it over the wire.  But in Hadoop 2 and later, we 
> have the protobuf {{HdfsFileStatusProto}} which serves to serialize this 
> information.  The protobuf form is preferable, since it allows us to add new 
> fields in a backwards-compatible way.  Another issue is that already a lot of 
> subclasses of FileStatus don't override the Writable methods of the 
> superclass, breaking the interface contract that read(status.write) should be 
> equal to the original status.
> In Hadoop 3, we should just make FileStatus serialize itself via protobuf so 
> that we don't have to deal with these issues.  It's probably too late to do 
> this in Hadoop 2, since user code may be relying on the existing FileStatus 
> serialization there.



--
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