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?




-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to