Uploaded image for project: 'Hadoop HDFS'
  1. Hadoop HDFS
  2. HDFS-5284 Flatten INode hierarchy
  3. HDFS-5285

Flatten INodeFile hierarchy: Add UnderContruction Feature

    XMLWordPrintableJSON

Details

    • Sub-task
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 2.4.0
    • namenode
    • None
    • Reviewed

    Description

      For files, there are INodeFile, INodeFileUnderConstruction, INodeFileWithSnapshot and INodeFileUnderConstructionWithSnapshot for representing whether a file is under construction or whether it is in some snapshot. The following are two major problems of the current approach:

      • Java class does not support multiple inheritances so that INodeFileUnderConstructionWithSnapshot cannot extend both INodeFileUnderConstruction and INodeFileWithSnapshot.
      • The number of classes is exponential to the number of features. Currently, there are only two features, UnderConstruction and WithSnapshot. The number of classes is 2^2 = 4. It is hard to add one more feature since the number of classes will become 2^3 = 8.

      As a first step, we implement an Under-Construction feature to replace INodeFileUnderConstruction and INodeFileUnderConstructionWithSnapshot in this jira.

      Attachments

        1. h5285_20131001.patch
          59 kB
          Tsz-wo Sze
        2. h5285_20131002.patch
          68 kB
          Tsz-wo Sze
        3. h5285_20131118.patch
          67 kB
          Tsz-wo Sze
        4. HDFS-5285.001.patch
          92 kB
          Jing Zhao
        5. HDFS-5285.002.patch
          104 kB
          Jing Zhao
        6. HDFS-5285.003.patch
          104 kB
          Jing Zhao
        7. HDFS-5285.b2.patch
          105 kB
          Jing Zhao

        Issue Links

          Activity

            People

              jingzhao Jing Zhao
              szetszwo Tsz-wo Sze
              Votes:
              0 Vote for this issue
              Watchers:
              11 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: