Uploaded image for project: 'Hadoop HDFS'
  1. Hadoop HDFS
  2. HDFS-13350

Negative legacy block ID will confuse Erasure Coding to be considered as striped block

VotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 3.0.1
    • 3.2.0, 3.1.1, 3.0.3
    • erasure-coding
    • None

    Description

      HDFS-4645 has changed HDFS block ID from randomly generated to sequential positive IDs. And later on, HDFS EC was built on the assumption that normal 3x replica block IDs are positive, so EC re-use negative IDs as striped blocks.

      However, there are legacy block IDs can be negative in the system, we should not use hardcode method to check whether a block is stripe or not:

        public static boolean isStripedBlockID(long id) {
          return BlockType.fromBlockId(id) == STRIPED;
        }
      

      Attachments

        1. HDFS-13350.00.patch
          24 kB
          Lei (Eddy) Xu
        2. HDFS-13350.01.patch
          24 kB
          Lei (Eddy) Xu
        3. HDFS-13350.02.patch
          24 kB
          Lei (Eddy) Xu

        Issue Links

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            eddyxu Lei (Eddy) Xu
            eddyxu Lei (Eddy) Xu
            Votes:
            0 Vote for this issue
            Watchers:
            10 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment