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)