Uploaded image for project: 'Hadoop Common'
  1. Hadoop Common
  2. HADOOP-807

splitting DFS version number

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Won't Fix
    • None
    • None
    • None
    • None

    Description

      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.

      Attachments

        Activity

          People

            dhruba Dhruba Borthakur
            dhruba Dhruba Borthakur
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: