Browse Source

HADOOP-11242. Record the time of calling in tracing span of IPC server. Contributed by Mastake Iwasaki.

(cherry picked from commit bb1816328a36ec3f8c6bd9fdb950d9a4ec8388c8)
Akira Ajisaka 10 năm trước cách đây
mục cha
commit
9670762a82

+ 3 - 0
hadoop-common-project/hadoop-common/CHANGES.txt

@@ -146,6 +146,9 @@ Release 2.8.0 - UNRELEASED
     HADOOP-11772. RPC Invoker relies on static ClientCache which has
     synchronized(this) blocks. (wheat9)
 
+    HADOOP-11242. Record the time of calling in tracing span of
+    IPC server. (Masatake Iwasaki via aajisaka)
+
   BUG FIXES
     HADOOP-11802: DomainSocketWatcher thread terminates sometimes after there
     is an I/O error during requestShortCircuitShm (cmccabe)

+ 1 - 0
hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/Server.java

@@ -2067,6 +2067,7 @@ public abstract class Server {
           CurCall.set(call);
           if (call.traceSpan != null) {
             traceScope = Trace.continueSpan(call.traceSpan);
+            traceScope.getSpan().addTimelineAnnotation("called");
           }
 
           try {

+ 7 - 0
hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/tracing/TestTracing.java

@@ -120,6 +120,13 @@ public class TestTracing {
         Assert.assertEquals(ts.getSpan().getTraceId(), span.getTraceId());
       }
     }
+
+    // test for timeline annotation added by HADOOP-11242
+    Assert.assertEquals("called",
+        map.get("org.apache.hadoop.hdfs.protocol.ClientProtocol.create")
+           .get(0).getTimelineAnnotations()
+           .get(0).getMessage());
+
     SetSpanReceiver.SetHolder.spans.clear();
   }