hadoop-hdfs-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ming Ma (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HDFS-11412) Maintenance minimum replication config value allowable range should be {0 - DefaultReplication}
Date Thu, 16 Feb 2017 01:59:41 GMT

    [ https://issues.apache.org/jira/browse/HDFS-11412?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15868977#comment-15868977
] 

Ming Ma commented on HDFS-11412:
--------------------------------

Thanks [~manojg].

* Regarding whether to use default replication factor or max replication factor, do you care
about the following use case? default == 3, max = 30. Block A have large replication factor
30 and would like to keep at least 20 live replicas around during maintenance. Then put 20
nodes with replicas of Block A into maintenance at the same time. To make sure at least 20
live replicas after maintenance, the system need to honor minReplicationToBeInMaintenance
== 20. 
* Impact on {{getExpectedLiveRedundancyNum}} calculation. Set minReplicationToBeInMaintenance
to 3. Block B's replication factor is 2. Put one of its replicas into maintenance. Inside
function {{getExpectedLiveRedundancyNum}}, {{Math.max(expectedRedundancy - numberReplicas.maintenanceReplicas(),
getMinReplicationToBeInMaintenance())}} == 3.  Ideally the function should return 2.

> Maintenance minimum replication config value allowable range should be {0 - DefaultReplication}
> -----------------------------------------------------------------------------------------------
>
>                 Key: HDFS-11412
>                 URL: https://issues.apache.org/jira/browse/HDFS-11412
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>          Components: datanode, namenode
>    Affects Versions: 3.0.0-alpha1
>            Reporter: Manoj Govindassamy
>            Assignee: Manoj Govindassamy
>         Attachments: HDFS-11412.01.patch
>
>
> 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}}
> {noformat}
>     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);
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

---------------------------------------------------------------------
To unsubscribe, e-mail: hdfs-issues-unsubscribe@hadoop.apache.org
For additional commands, e-mail: hdfs-issues-help@hadoop.apache.org


Mime
View raw message