You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-dev@hadoop.apache.org by "Allen Wittenauer (JIRA)" <ji...@apache.org> on 2014/07/18 07:27:05 UTC

[jira] [Resolved] (HADOOP-3470) Bad coding style: The member fields in org.apache.hadoop.ipc.metrics.RpcMetrics are public

     [ https://issues.apache.org/jira/browse/HADOOP-3470?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Allen Wittenauer resolved HADOOP-3470.
--------------------------------------

    Resolution: Won't Fix

Closing this as won't fix given the metrics system has been replaced.

> Bad coding style: The member fields in org.apache.hadoop.ipc.metrics.RpcMetrics are public
> ------------------------------------------------------------------------------------------
>
>                 Key: HADOOP-3470
>                 URL: https://issues.apache.org/jira/browse/HADOOP-3470
>             Project: Hadoop Common
>          Issue Type: Improvement
>          Components: metrics
>            Reporter: Tsz Wo Nicholas Sze
>
> In org.apache.hadoop.ipc.metrics.RpcMetrics,
> {code}
> //the following are member fields
>   public MetricsTimeVaryingRate rpcQueueTime = new MetricsTimeVaryingRate("RpcQueueTime");
>   public MetricsTimeVaryingRate rpcProcessingTime = new MetricsTimeVaryingRate("RpcProcessingTime");
>   public Map <String, MetricsTimeVaryingRate> metricsList = Collections.synchronizedMap(new HashMap<String, MetricsTimeVaryingRate>());
> {code}
> Then, the fields are accessed directly in other classes.  For example, org.apache.hadoop.ipc.RPC.Server.call(...)
> {code}
> ...
> 	MetricsTimeVaryingRate m = rpcMetrics.metricsList.get(call.getMethodName());
> 	if (m != null) {
> 		m.inc(processingTime);
> 	}
> 	else {
> 		rpcMetrics.metricsList.put(call.getMethodName(), new MetricsTimeVaryingRate(call.getMethodName()));
> 		m = rpcMetrics.metricsList.get(call.getMethodName());
> 		m.inc(processingTime);
> 	}
> {code}



--
This message was sent by Atlassian JIRA
(v6.2#6252)