Uploaded image for project: 'Hadoop HDFS'
  1. Hadoop HDFS
  2. HDFS-8966 Separate the lock used in namespace and block management layer
  3. HDFS-8248

Store INodeId instead of the INodeFile object in BlockInfoContiguous

VotersWatch issueWatchersLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments


    • Type: Sub-task
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 2.8.0, 3.0.0-alpha1
    • Component/s: None
    • Labels:
    • Hadoop Flags:


      Currently the namespace and the block manager are tightly coupled together. There are two couplings in terms of implementation:

      1. The BlockInfoContiguous stores a reference of the INodeFile that owns the block, so that the block manager can look up the corresponding file when replicating blocks, recovering from pipeline failures, etc.
      1. The INodeFile stores BlockInfoContiguous objects that the file owns.

      Decoupling the namespace and the block manager allows the BM to be separated out from the Java heap or even as a standalone process. This jira proposes to remove the first coupling by storing the id of the inode instead of the object reference of INodeFile in the BlockInfoContiguous class.


        1. HDFS-8248.000.patch
          44 kB
          Haohui Mai
        2. HDFS-8248.001.patch
          45 kB
          Haohui Mai
        3. HDFS-8248.002.patch
          47 kB
          Haohui Mai
        4. HDFS-8248.003.patch
          49 kB
          Haohui Mai
        5. HDFS-8248.004.patch
          46 kB
          Haohui Mai
        6. HDFS-8248.005.patch
          39 kB
          Haohui Mai
        7. HDFS-8248.006.patch
          41 kB
          Haohui Mai
        8. HDFS-8248.007.patch
          41 kB
          Haohui Mai
        9. HDFS-8248.008.patch
          41 kB
          Haohui Mai



            • Assignee:
              wheat9 Haohui Mai
              wheat9 Haohui Mai


              • Created:

                Issue deployment