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

    XMLWordPrintableJSON

Details

    • Sub-task
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 2.8.0, 3.0.0-alpha1
    • None
    • None
    • Reviewed

    Description

      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.

      Attachments

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

        Activity

          People

            wheat9 Haohui Mai
            wheat9 Haohui Mai
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: