You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-issues@hadoop.apache.org by "Rakesh R (JIRA)" <ji...@apache.org> on 2015/09/29 11:55:04 UTC
[jira] [Commented] (HDFS-8449) Add tasks count metrics to datanode
for ECWorker
[ https://issues.apache.org/jira/browse/HDFS-8449?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14934931#comment-14934931 ]
Rakesh R commented on HDFS-8449:
--------------------------------
Nice work, thanks [~libo-intel] for the patch. I've few comments, please take a look at it.
# Insead of {{recovery}} please use {{reconstruction}} for the newly adding code. HDFS-7955 task has raised to correct the existing code.
# {{"Count of EC recovery tasks"}} here can you describe as {{Erasure Coding}} instead of {{EC}}
# I prefer to avoid {{taskSucceed = false;}}. One way is to keep the {{datanode.getMetrics().incrECSuccessfulRecoveryTasks();}} right before the catch throwable statement.
# Please correct the indentation
a) Make it one line
{code}
+public class
+ TestDataNodeErasureCodingMetrics {
{code}
b) Split this into two lines
{code}
+ out.close(); conf = new Configuration();
{code}
# Could you please refer [TestDataNodeMetrics.java#L131|https://github.com/apache/hadoop/blob/trunk/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/TestDataNodeMetrics.java#L131] unit test case. It would be good to use the existing {{MetricsAsserts}} instead of reading the metrics value using relection in your tests.
{code}
+ private long getMetricsValue(String name, DataNodeMetrics metrics)
+ throws Exception{
+ Field ecField = DataNodeMetrics.class.getDeclaredField(name);
+ ecField.setAccessible(true);
+ MutableCounterLong counter = (MutableCounterLong)ecField.get(metrics);
+ return counter.value();
+ }
{code}
# Please make this function to {{private}} visibility
{code}public DataNode doTest{code}
# Its good practice to add test timeout, please add it by giving some bigger value {{@Test(timeout = 120000)}}
> Add tasks count metrics to datanode for ECWorker
> ------------------------------------------------
>
> Key: HDFS-8449
> URL: https://issues.apache.org/jira/browse/HDFS-8449
> Project: Hadoop HDFS
> Issue Type: Sub-task
> Reporter: Li Bo
> Assignee: Li Bo
> Attachments: HDFS-8449-000.patch, HDFS-8449-001.patch, HDFS-8449-002.patch
>
>
> This sub task try to record ec recovery tasks that a datanode has done, including total tasks, failed tasks and sucessful tasks.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)