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