Uploaded image for project: 'Hadoop HDFS'
  1. Hadoop HDFS
  2. HDFS-7541 Upgrade Domains in HDFS
  3. HDFS-9922

Upgrade Domain placement policy status marks a good block in violation when there are decommissioned nodes

    XMLWordPrintableJSON

Details

    • Sub-task
    • Status: Resolved
    • Minor
    • Resolution: Fixed
    • None
    • 2.9.0, 3.0.0-alpha1, 2.8.2
    • None
    • None
    • Reviewed

    Description

      When there are replicas of a block on a decommissioned node, BlockPlacementStatusWithUpgradeDomain#isUpgradeDomainPolicySatisfied returns false when it should return true. This is because numberOfReplicas is the number of in-service replicas for the block and upgradeDomains.size() is the number of upgrade domains across all replicas of the block. Specifically, we hit this scenario when numberOfReplicas is equal to upgradeDomainFactor and upgradeDomains.size() is greater than numberOfReplicas.

      private boolean isUpgradeDomainPolicySatisfied() {
          if (numberOfReplicas <= upgradeDomainFactor) {
            return (numberOfReplicas == upgradeDomains.size());
          } else {
            return upgradeDomains.size() >= upgradeDomainFactor;
          }
        }
      

      Attachments

        1. HDFS-9922.branch-2.8.001.patch
          16 kB
          Ming Ma
        2. HDFS-9922-trunk-v1.patch
          6 kB
          Chris Trezzo
        3. HDFS-9922-trunk-v2.patch
          17 kB
          Chris Trezzo
        4. HDFS-9922-trunk-v3.patch
          15 kB
          Chris Trezzo
        5. HDFS-9922-trunk-v4.patch
          16 kB
          Ming Ma

        Activity

          People

            ctrezzo Chris Trezzo
            ctrezzo Chris Trezzo
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: