simbadzina commented on code in PR #5683:
URL: https://github.com/apache/hadoop/pull/5683#discussion_r1204751202


##########
hadoop-hdfs-project/hadoop-hdfs-rbf/src/test/java/org/apache/hadoop/hdfs/server/federation/metrics/TestNameserviceRPCMetrics.java:
##########
@@ -134,5 +136,26 @@ public void testProxyOp() throws IOException {
         getMetrics(NAMESERVICE_RPC_METRICS_PREFIX + "ns1"));
   }
 
+  @Test
+  public void testProxyOpCompleteConcurrent() throws IOException {
+
+    long ns0ProxyOpBefore = getLongCounter("ProxyOp",
+        getMetrics(NAMESERVICE_RPC_METRICS_PREFIX + "ns0"));
+    long ns1ProxyOpBefore = getLongCounter("ProxyOp",
+        getMetrics(NAMESERVICE_RPC_METRICS_PREFIX + "ns1"));
+    assertCounter("ProxyOp", 0L,
+        getMetrics(NAMESERVICE_RPC_METRICS_PREFIX + "concurrent"));
+    // RPC which uses invokeConcurrent.
+    router.getRpcServer().setBalancerBandwidth(1048576L);
+
+    assertCounter("ProxyOp", ns0ProxyOpBefore + 1,
+        getMetrics(NAMESERVICE_RPC_METRICS_PREFIX + "ns0"));
+    assertCounter("ProxyOp", ns1ProxyOpBefore + 1,
+        getMetrics(NAMESERVICE_RPC_METRICS_PREFIX + "ns1"));
+    assertCounter("ProxyOp", 1L,
+        getMetrics(NAMESERVICE_RPC_METRICS_PREFIX + CONCURRENT));
+

Review Comment:
   Can you also check that the proxy time for the "concurrent" namespace is 
being created.



##########
hadoop-hdfs-project/hadoop-hdfs-rbf/src/main/java/org/apache/hadoop/hdfs/server/federation/metrics/FederationRPCPerformanceMonitor.java:
##########
@@ -153,7 +157,7 @@ public void proxyOpComplete(boolean success, String nsId,
     if (success) {
       long proxyTime = getProxyTime();
       if (proxyTime >= 0) {
-        if (metrics != null) {
+        if (metrics != null && !nsId.equals(CONCURRENT)) {

Review Comment:
   Can you switch the test to !CONCURRENT.equals(nsId)
   
   Looking at the code, the one case where nsId is null, success is also equal 
to false so we don't get a nullpointerexception. However, it is still good to 
switch the code to be more defensive.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to