Hello Adar Dembo, Alexey Serbin,
I'd like you to do a code review. Please visit
http://gerrit.cloudera.org:8080/4950
to review the following change.
Change subject: [java client] Implement RPC tracing, part 2
......................................................................
[java client] Implement RPC tracing, part 2
This patch adds pretty printing for the traces, and makes them always part
of KuduRPC.toString. We thus rely on having the exceptions' messages to have
the RPC's string representation in them in order to have the traces make their
way back to the user.
In the future we could entertain having the traces in some queryable fashion in
KuduException, either be embedding the KuduRpc or just the list of traces.
Here's a trace snippet where a tserver that had a leader tablet was killed and
we're
spinning on finding the new leader:
[0ms] sending RPC to server 5df1a37bd7e14380b5a8fceeba6b0d07
[70ms] received from server 5df1a37bd7e14380b5a8fceeba6b0d07 response Network
error: [Peer 5df1a37bd7e14380b5a8fceeba6b0d07] Connection reset
[70ms] delaying RPC due to Network error: [Peer
5df1a37bd7e14380b5a8fceeba6b0d07] Connection reset
[101ms] querying master, [101ms] Sub rpc: GetTableLocations sending RPC to
server e6e499debd804a8183b85d20a33ad560
[104ms] Sub rpc: GetTableLocations sending RPC to server
e6e499debd804a8183b85d20a33ad560
[104ms] Sub rpc: GetTableLocations received from server
e6e499debd804a8183b85d20a33ad560 response OK
[109ms] sending RPC to server 5df1a37bd7e14380b5a8fceeba6b0d07
[110ms] received from server 5df1a37bd7e14380b5a8fceeba6b0d07 response Network
error: [Peer 5df1a37bd7e14380b5a8fceeba6b0d07] Connection reset
Change-Id: I2c37143a587971f0e8985c59f4ab1d0c164c3723
---
M java/kudu-client/src/main/java/org/apache/kudu/client/KuduRpc.java
M java/kudu-client/src/main/java/org/apache/kudu/client/RpcTraceObject.java
2 files changed, 59 insertions(+), 1 deletion(-)
git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/50/4950/1
--
To view, visit http://gerrit.cloudera.org:8080/4950
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I2c37143a587971f0e8985c59f4ab1d0c164c3723
Gerrit-PatchSet: 1
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Jean-Daniel Cryans <[email protected]>
Gerrit-Reviewer: Adar Dembo <[email protected]>
Gerrit-Reviewer: Alexey Serbin <[email protected]>