Hello Kudu Jenkins,

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

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

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

Change subject: WIP KUDU-1364. Don't clear the cache when a server disconnect
......................................................................

WIP KUDU-1364. Don't clear the cache when a server disconnect

Folks seem to agree that, in the Java client, clearing the cache when a
server gets disconnected (for any reason) is not a good idea.

This patch does major surgery on how we handle cached TabletClients.
We now always keep them in RemoteTablet, and do our best to remember
if they were a leader. Only the ip2client is being removed from. We
now rely on the TabletClient's 'dead' attribute to know if a
connection is stale and needs to be re-established.

Not clear if client2tablets really needs to be removed from, and when.

The patch also introduces a new integration test for the client. It's
still super basic but gives more confidence in the change.

It also fixes a dumb bug that was killing scanners too soon if there
was a disconnection.

TODOs (could be done in follow-up patches):
 - Test the patch on a real cluster, ideally with both YCSB and ITBLL.
 - Investigate more if client2tablets needs to be removed from.
 - Add more operations and chaos in ITClient.

Change-Id: I8606bfcedb09af57b66ba0f065067f0f3335a4a8
---
M java/kudu-client/src/main/java/org/kududb/client/AsyncKuduClient.java
M java/kudu-client/src/main/java/org/kududb/client/AsyncKuduScanner.java
M java/kudu-client/src/main/java/org/kududb/client/TabletClient.java
A java/kudu-client/src/test/java/org/kududb/client/ITClient.java
M java/kudu-client/src/test/java/org/kududb/client/TestAsyncKuduClient.java
5 files changed, 373 insertions(+), 48 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/49/2449/2
-- 
To view, visit http://gerrit.cloudera.org:8080/2449
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I8606bfcedb09af57b66ba0f065067f0f3335a4a8
Gerrit-PatchSet: 2
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Jean-Daniel Cryans
Gerrit-Reviewer: Kudu Jenkins

Reply via email to