[ https://issues.apache.org/jira/browse/HDFS-16287?focusedWorklogId=677833&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-677833 ]
ASF GitHub Bot logged work on HDFS-16287: ----------------------------------------- Author: ASF GitHub Bot Created on: 05/Nov/21 20:42 Start Date: 05/Nov/21 20:42 Worklog Time Spent: 10m Work Description: tomscut commented on a change in pull request #3596: URL: https://github.com/apache/hadoop/pull/3596#discussion_r743349892 ########## File path: hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/DatanodeManager.java ########## @@ -511,7 +505,16 @@ private boolean isInactive(DatanodeInfo datanode) { private boolean isSlowNode(String dnUuid) { return avoidSlowDataNodesForRead && slowNodesUuidSet.contains(dnUuid); } - + + public void setAvoidSlowDataNodesForReadEnabled(boolean enable) { Review comment: > Thanks @tomscut for your comment. You have a point there. > > But there is a problem,current parameter 'dataNodePeerStatsEnabled' and 'excludeSlowNodesEnabled' decision SlowPeerCollector thread whether to start ,But it didn't take into account avoid SlowDataNodesForRead logic. > > And from the perspective of stability, the production environment of this function online can be consider divided into two stages: The first is to start SlowPeerCollector thread, we can check whether the reported datanode is a slow node based on monitoring indicators. Second, you can control whether to enable read/write avoid slow datanode according to dynamic parameters. > > What do you think? Thanks @haiyang1987 for your explanation. It is OK from my side. Can we also make ```excludeSlowNodesEnabled``` reconfigurable? ########## File path: hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/DatanodeManager.java ########## @@ -511,7 +505,16 @@ private boolean isInactive(DatanodeInfo datanode) { private boolean isSlowNode(String dnUuid) { return avoidSlowDataNodesForRead && slowNodesUuidSet.contains(dnUuid); } - + + public void setAvoidSlowDataNodesForReadEnabled(boolean enable) { Review comment: Thanks @haiyang1987 for your reminding, I didn't see the logic here before. I think we don't need to implement it separately if it's already supported. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org Issue Time Tracking ------------------- Worklog Id: (was: 677833) Time Spent: 10h 10m (was: 10h) > Support to make dfs.namenode.avoid.read.slow.datanode reconfigurable > --------------------------------------------------------------------- > > Key: HDFS-16287 > URL: https://issues.apache.org/jira/browse/HDFS-16287 > Project: Hadoop HDFS > Issue Type: Improvement > Reporter: Haiyang Hu > Assignee: Haiyang Hu > Priority: Major > Labels: pull-request-available > Time Spent: 10h 10m > Remaining Estimate: 0h > > 1. Consider that make dfs.namenode.avoid.read.slow.datanode reconfigurable > and rapid rollback in case this feature > [HDFS-16076|https://issues.apache.org/jira/browse/HDFS-16076] unexpected > things happen in production environment > 2. DatanodeManager#startSlowPeerCollector by parameter > 'dfs.datanode.peer.stats.enabled' to control -- This message was sent by Atlassian Jira (v8.3.4#803005) --------------------------------------------------------------------- To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org