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

Namenode should use single map for block to its meta data.

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 0.13.0
    • None
    • None

    Description

      This is a follow up from HADOOP-803. Currently there two maps which have similar functionality :

      1) blockMap : maps block to list of datanodes that contain the block
      2) activeBlocks : maps block to INode that it blongs to.

      Apart from simplifying, it saves 32 bytes per block and 24 bytes by avoid extra block object we currently have for files that exist before Namenode starts (see HADOOP-803).

      We could combine these two into something like block to

      { containingNodes, INode, etc }

      .

      Another option is to get Move INode and list of dataNodes into Block object.

      Another option that requires bigger change is not use Block object but just 64 bit BlockId. Then the map would be BlockId to all the block related info. I will file another Jira regd not using Block object in NameNode.

      Attachments

        1. HADOOP-988-1.patch
          33 kB
          Raghu Angadi
        2. HADOOP-988-3.patch
          35 kB
          Raghu Angadi
        3. HADOOP-988-4.patch
          35 kB
          Raghu Angadi
        4. HADOOP-988-5.patch
          35 kB
          Raghu Angadi
        5. HADOOP-988-6.patch
          36 kB
          Raghu Angadi

        Activity

          People

            rangadi Raghu Angadi
            rangadi Raghu Angadi
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: