Jean-Daniel Cryans has uploaded a new change for review.

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

Change subject: [java client] RPCs can get lost in a TabletClient race
......................................................................

[java client] RPCs can get lost in a TabletClient race

We saw hangs after running ITBLL for hours. Turns out that the recent
fixes in TabletClient introduced a new race condition. rpcs_inflight
is being cleaned in cleanup() by copying all the elements from it
and then calling clear(). Even though this is done under a lock, that
lock isn't protecting rpcs_inflight so it's possible to clear() rpcs
that were not copied out.

I haven't been able to recreate this race in unit tests, but it fixed
ITBLL.

Change-Id: Iaff89eb832d0d6f0dede198661856fae1a8585a0
---
M java/kudu-client/src/main/java/org/kududb/client/TabletClient.java
1 file changed, 20 insertions(+), 11 deletions(-)


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Iaff89eb832d0d6f0dede198661856fae1a8585a0
Gerrit-PatchSet: 1
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Jean-Daniel Cryans <jdcry...@apache.org>

Reply via email to