hadoop-common-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "dhruba borthakur (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HADOOP-807) splitting DFS version number
Date Fri, 08 Dec 2006 21:42:22 GMT
    [ http://issues.apache.org/jira/browse/HADOOP-807?page=comments#action_12456986 ] 
dhruba borthakur commented on HADOOP-807:

Nigel's comment (for the record):

"My only concern with this is the potential burden of documenting and testing the interoperability
of these independently changing versions
-- especially given that we don't currently have any tests in this area.  In my experience,
generating compatibility matrices can be tricky business."

I agree with the above comment. Testing an old datanode with a newer datanode can be burdensome.
But the only other alternative is to require that all nodes in the cluster are upgraded at
the same time.

> splitting DFS version number
> ----------------------------
>                 Key: HADOOP-807
>                 URL: http://issues.apache.org/jira/browse/HADOOP-807
>             Project: Hadoop
>          Issue Type: Bug
>          Components: dfs
>            Reporter: dhruba borthakur
>         Assigned To: dhruba borthakur
> In the current code, there is a enum named DFS_CURRENT_VERSION. It is being used for
three different purposes:
> 1. It is stored in the fsimage and represents the format of the fsimage.
> 2. It is stored in the "storage" file by the Datanodes. Thus, it represents the format
of data on Datanodes.
> 3. It is used as a version of the Datanode Protocol.
> The current implementation makes it difficult to change the fsimage format without affecting
the Datanode Protocol. My proposal is to introduce three new constants, one for each of the
functionality described above.
> In the current code, we have:
>     public static final int DFS_CURRENT_VERSION = -3;
> Instead, we can have:
>     public static final int DFS_FSIMAGE_CURRENT_VERSION = -3;
>     public static final int DFS_DATANODEPROTOCOL_CURRENT_VERSION = -3;
>     public static final int DFS_DATASTORAGE_CURRENT_VERSION = -3;
> The first one is associated with the format of the fsimage/edits; the second one is associated
with the communication procotol between the namenode and the datanode; the third one is associated
with the format of the datastore on the datanodes (e.g. directory fanout).
> Please comment.

This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira


View raw message