Alexey Serbin has uploaded this change for review. ( 
http://gerrit.cloudera.org:8080/17305


Change subject: KUDU-2612: fix txn keepalive failover for TxnManager in Java 
client
......................................................................

KUDU-2612: fix txn keepalive failover for TxnManager in Java client

Prior to this patch, transaction keepalive heartbeater in Java client
wouldn't switch to a different TxnManager instance when current
TxnManager is not available (e.g., Kudu master stopped or shutdown).
That might lead to unintended termination of a multi-row transaction
if a leader master was shutdown while the transaction was in progress.
The issue was due to:
  * using long timeout (i.e. the default one) for issuing
    KeepTransactionAlive RPCs
  * sending KeepTransactionAlive RPCs synchronously on the client's
    HashedWheelTimer timer

This patch fixes the issue mentioned above and adds a new test
scenario to make sure that Java client fails over to different
TxnManager instance its current TxnManager becomes unavailable.

Change-Id: I27ecbf3063d0657a20741088060d8562f8c40bc7
---
M java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduClient.java
M java/kudu-client/src/main/java/org/apache/kudu/client/KuduTransaction.java
M java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduTransaction.java
3 files changed, 181 insertions(+), 60 deletions(-)



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I27ecbf3063d0657a20741088060d8562f8c40bc7
Gerrit-Change-Number: 17305
Gerrit-PatchSet: 1
Gerrit-Owner: Alexey Serbin <[email protected]>

Reply via email to