[ https://issues.apache.org/jira/browse/HDFS-10966?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15684048#comment-15684048 ]
Hudson commented on HDFS-10966: ------------------------------- SUCCESS: Integrated in Jenkins build Hadoop-trunk-Commit #10868 (See [https://builds.apache.org/job/Hadoop-trunk-Commit/10868/]) HDFS-10966. Enhance Dispatcher logic on deciding when to give up a (kihwal: rev 49a09179e3fadae090126261be0a7fe0aa48798e) * (edit) hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSConfigKeys.java * (edit) hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/balancer/TestBalancer.java * (edit) hadoop-hdfs-project/hadoop-hdfs/src/main/resources/hdfs-default.xml * (edit) hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/mover/Mover.java * (edit) hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/balancer/Dispatcher.java * (edit) hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/balancer/Balancer.java > Enhance Dispatcher logic on deciding when to give up a source DataNode > ---------------------------------------------------------------------- > > Key: HDFS-10966 > URL: https://issues.apache.org/jira/browse/HDFS-10966 > Project: Hadoop HDFS > Issue Type: Bug > Components: balancer & mover > Reporter: Zhe Zhang > Assignee: Mark Wagner > Attachments: HDFS-10966.00.patch, HDFS-10966.01.patch > > > When a {{Dispatcher}} thread works on a source DataNode, in each iteration it > tries to execute a {{PendingMove}}. If no block is moved after 5 iterations, > this source (over-utlized) DataNode is given up for this Balancer iteration > (20 mins). This is problematic if the source DataNode was heavily loaded in > the beginning of the iteration. It will quickly encounter 5 unsuccessful > moves and be abandoned. > We should enhance this logic by e.g. using elapsed time instead of number of > iterations. > {code} > // Check if the previous move was successful > } else { > // source node cannot find a pending block to move, iteration +1 > noPendingMoveIteration++; > // in case no blocks can be moved for source node's task, > // jump out of while-loop after 5 iterations. > if (noPendingMoveIteration >= MAX_NO_PENDING_MOVE_ITERATIONS) { > LOG.info("Failed to find a pending move " + > noPendingMoveIteration > + " times. Skipping " + this); > resetScheduledSize(); > } > } > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332) --------------------------------------------------------------------- To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org