[ 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)