Hello Kudu Jenkins, I'd like you to reexamine a change. Please visit
http://gerrit.cloudera.org:8080/4781 to look at the new patch set (#4). Change subject: [java client] Implement RPC tracing, part 1 ...................................................................... [java client] Implement RPC tracing, part 1 First part of this work is adding the tracing objects and doing the tracing. A second patch will make this information available to users. This patch is using a pretty simple method of just shoving container objects into a list, per RPC. The traces are lightweight and don't try anything fancy. We also introduce the concept of "parent RPC", so that say a Write RPC spawns a GetTableLocations, and the latter will be added to the former so that the call to the master adds traces to both RPCs. This patch isn't adding a nice way to present the traces (like JSON) but here's a simple toString example: RpcTraceObject{rpcMethod='Write', timestampMs=1477079973546, action=PICKED_REPLICA}, RpcTraceObject{rpcMethod='Write', timestampMs=1477079973547, action=SEND_TO_SERVER, server=3926a6a73e994152be1336beb434154e}, RpcTraceObject{rpcMethod='Write', timestampMs=1477079973548, action=RECEIVE_FROM_SERVER, server=3926a6a73e994152be1336beb434154e, callStatus=Network error: [Peer 3926a6a73e994152be1336beb434154e] Connection reset on [id: 0xc83743df]} RpcTraceObject{rpcMethod='Write', timestampMs=1477079973548, action=SLEEP_THEN_RETRY, callStatus=Network error: [Peer 3926a6a73e994152be1336beb434154e] Connection reset on [id: 0xc83743df]}, RpcTraceObject{rpcMethod='Write', timestampMs=1477079973574, action=QUERY_MASTER}, RpcTraceObject{rpcMethod='GetTableLocations', timestampMs=1477079973574, action=PICKED_REPLICA}, RpcTraceObject{rpcMethod='GetTableLocations', timestampMs=1477079973574, action=SEND_TO_SERVER, server=c0d4588690d241c69821ee773eebd185}, RpcTraceObject{rpcMethod='GetTableLocations', timestampMs=1477079973576, action=RECEIVE_FROM_SERVER, server=c0d4588690d241c69821ee773eebd185, callStatus=OK}, RpcTraceObject{rpcMethod='Write', timestampMs=1477079973579, action=PICKED_REPLICA}, RpcTraceObject{rpcMethod='Write', timestampMs=1477079973579, action=SEND_TO_SERVER, server=0353a6d97d6c49f9a727bc1ee6c3393e}, Change-Id: I69ef56acc071b9f80b34e38c1821df4096f54907 --- M java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduClient.java M java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduScanner.java M java/kudu-client/src/main/java/org/apache/kudu/client/Batch.java M java/kudu-client/src/main/java/org/apache/kudu/client/KuduRpc.java A java/kudu-client/src/main/java/org/apache/kudu/client/RpcTraceObject.java M java/kudu-client/src/main/java/org/apache/kudu/client/TabletClient.java M java/kudu-client/src/test/java/org/apache/kudu/client/BaseKuduTest.java A java/kudu-client/src/test/java/org/apache/kudu/client/TestRpcTraces.java 8 files changed, 394 insertions(+), 35 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/81/4781/4 -- To view, visit http://gerrit.cloudera.org:8080/4781 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: I69ef56acc071b9f80b34e38c1821df4096f54907 Gerrit-PatchSet: 4 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Jean-Daniel Cryans <jdcry...@apache.org> Gerrit-Reviewer: Adar Dembo <a...@cloudera.com> Gerrit-Reviewer: Alexey Serbin <aser...@cloudera.com> Gerrit-Reviewer: Jean-Daniel Cryans <jdcry...@apache.org> Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Todd Lipcon <t...@apache.org>