Song Jiacheng has uploaded this change for review. ( http://gerrit.cloudera.org:8080/21041
Change subject: [Java] Fix concurrent problem while traverse the traces of KuduRpc. ...................................................................... [Java] Fix concurrent problem while traverse 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 lead to the task throws exception and the callback could 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 of 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/1 -- 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: newchange Gerrit-Change-Id: I1a642d93d01ebcfa05b01fe263023b5580d2542b Gerrit-Change-Number: 21041 Gerrit-PatchSet: 1 Gerrit-Owner: Song Jiacheng <songjiach...@thinkingdata.cn>