You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-issues@hadoop.apache.org by "Andrew Wang (JIRA)" <ji...@apache.org> on 2017/08/02 00:22:00 UTC
[jira] [Commented] (HDFS-6984) In Hadoop 3, make FileStatus
serialize itself via protobuf
[ https://issues.apache.org/jira/browse/HDFS-6984?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16110033#comment-16110033 ]
Andrew Wang commented on HDFS-6984:
-----------------------------------
+1 LGTM, thanks for working on this Chris. I applied this to 3.0.0-alpha4 and ran it through our internal integration test suite, and it passed. Great work!
Some final checks:
* Is the release note on this JIRA up to date? There are also misc improvements like removing the acl/enc/ec bits from the WebHDFS AclStatus that we could call out.
* Based on code inspection it looks like the wire-format changes are compatible, but it'd be good if you could comment on manual testing. WebHDFS and HttpFS in particular need to be both forward compatible as well as backwards compatible to help with upgrade, and it'd be real nice to support this for the PB protocol too since this is such a fundamental primitive.
> In Hadoop 3, make FileStatus serialize itself 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: Colin P. McCabe
> Labels: BB2015-05-TBR
> 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: hdfs-issues-unsubscribe@hadoop.apache.org
For additional commands, e-mail: hdfs-issues-help@hadoop.apache.org