Uploaded image for project: 'Hadoop HDFS'
  1. Hadoop HDFS
  2. HDFS-7877 [Umbrella] Support maintenance state for datanodes
  3. HDFS-11412

Maintenance minimum replication config value allowable range should be [0, DefaultReplication]

    Details

    • Type: Sub-task
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 3.0.0-alpha1
    • Fix Version/s: 2.9.0, 3.0.0-alpha4
    • Component/s: datanode, namenode
    • Labels:
      None

      Description

      Currently the allowed value range for Maintenance Min Replication dfs.namenode.maintenance.replication.min is 0 to dfs.namenode.replication.min (default=1). Users wanting not to affect the performance of the cluster would wish to have the Maintenance Min Replication number greater than 1, say 2. In the current design, it is possible to have this Maintenance Min Replication configuration, but only after changing the NameNode level Block Min Replication to 2, and which could slowdown the overall latency for client writes.

      Technically speaking we should be allowing Maintenance Min Replication to be in range 0 to dfs.replication.max.

      • There is always config value of 0 for users not wanting any availability/performance during maintenance.
      • And, performance centric workloads can still get maintenance done without major disruptions by having a bigger Maintenance Min Replication. Setting the upper limit as dfs.replication.max could be an overkill as it could trigger re-replication which Maintenance State is trying to avoid. So, we could allow the dfs.namenode.maintenance.replication.min in the range 0 to dfs.replication
          if (minMaintenanceR < 0) {
            throw new IOException("Unexpected configuration parameters: "
                + DFSConfigKeys.DFS_NAMENODE_MAINTENANCE_REPLICATION_MIN_KEY
                + " = " + minMaintenanceR + " < 0");
          }
          if (minMaintenanceR > minR) {
            throw new IOException("Unexpected configuration parameters: "
                + DFSConfigKeys.DFS_NAMENODE_MAINTENANCE_REPLICATION_MIN_KEY
                + " = " + minMaintenanceR + " > "
                + DFSConfigKeys.DFS_NAMENODE_REPLICATION_MIN_KEY
                + " = " + minR);
      

        Attachments

        1. HDFS-11412.01.patch
          6 kB
          Manoj Govindassamy
        2. HDFS-11412.02.patch
          9 kB
          Manoj Govindassamy
        3. HDFS-11412-branch-2.01.patch
          9 kB
          Manoj Govindassamy

          Activity

            People

            • Assignee:
              manojg Manoj Govindassamy
              Reporter:
              manojg Manoj Govindassamy
            • Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: