Hello Kudu Jenkins,

I'd like you to reexamine a change. Please visit

    http://gerrit.cloudera.org:8080/21041

to look at the new patch set (#8).

Change subject: [Java] Fix concurrent problem while traversing the traces of 
KuduRpc.
......................................................................

[Java] Fix concurrent problem while traversing the traces of KuduRpc.

When the RPC request which is sent by java client times out, the
RpcTimeoutTask is called by HashedWheelTimeout. During the running
of this task, KuduRpc#toString() is called. This method will traverse
the traces(a synchronizedList) without any protection, which leads to
exception in timeout task and then the callback will not be triggered.

So make a copy of the traces and then traverse the copy. This method
is mostly called when some exceptions are raised, so the influence on
performance should be acceptable.

Change-Id: I1a642d93d01ebcfa05b01fe263023b5580d2542b
---
M java/kudu-client/src/main/java/org/apache/kudu/client/KuduRpc.java
1 file changed, 10 insertions(+), 2 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/41/21041/8
--
To view, visit http://gerrit.cloudera.org:8080/21041
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I1a642d93d01ebcfa05b01fe263023b5580d2542b
Gerrit-Change-Number: 21041
Gerrit-PatchSet: 8
Gerrit-Owner: Song Jiacheng <songjiach...@thinkingdata.cn>
Gerrit-Reviewer: Kudu Jenkins (120)

Reply via email to