hadoop-hdfs-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Chris Nauroth (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HDFS-6984) In Hadoop 3, make FileStatus no longer a Writable
Date Wed, 03 Sep 2014 23:16:55 GMT

    [ https://issues.apache.org/jira/browse/HDFS-6984?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14120660#comment-14120660
] 

Chris Nauroth commented on HDFS-6984:
-------------------------------------

+1 for the proposal.

I agree that it's best to make {{FileStatus}} not a {{Writable}} on the next major version.
 I also agree that it's too late to do it in 2.x.  Even though it's not used for wire serialization,
there's no telling if someone decided to serialize a bunch of {{FileStatus}} instances to
a sequence file (or whatever else).  Removing the {{Writable}} implementation in 2.x would
break the ability to read back those files after upgrading software.

I'm not sure why the Jenkins run failed.  I expect this change is OK as long as all HDFS permission
and ACL tests continue to run successfully.

> In Hadoop 3, make FileStatus no longer a Writable
> -------------------------------------------------
>
>                 Key: HDFS-6984
>                 URL: https://issues.apache.org/jira/browse/HDFS-6984
>             Project: Hadoop HDFS
>          Issue Type: Improvement
>    Affects Versions: 3.0.0
>            Reporter: Colin Patrick McCabe
>            Assignee: Colin Patrick McCabe
>         Attachments: HDFS-6984.001.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 no longer a writable 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 ability to use the Writable methods on FileStatus objects there.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message