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


Change subject: KUDU-2612: propagate commit timestamp (Java client)
......................................................................

KUDU-2612: propagate commit timestamp (Java client)

With this patch, the commit timestamp for a non-empty transaction
is propagated to a Kudu Java client upon calling
KuduTransaction.isCommitComplete() (that means that committing
a transaction synchronously via KuduTransaction.commit(true)
propagates the commit timestamp as well).

Updating the last observed timestamp with the commit timestamp is
necessary to achieve consistency in the READ_YOUR_WRITES mode when
reading the data of a transaction which has just been committed.  The
commit phase might take some time and may even be retried in some cases,
so even if the client observed timestamps for all the write operations
it sent in the context this transaction, the maximum timestamp collected
among the involved transaction participants might be far ahead of the
last timestamp observed by the client so far.

In addition, this patch addresses the most prominent cause of flakiness
in the recently introduced scenario
TestKuduTransaction.testTxnKeepaliveRollingSwitchToOtherTxnManager.

This patch is a follow-up to e495d6bb759fdae7cd001d86df3bae5c4f5f2b36.

Change-Id: I4177fe0d137b70bd18dd6c87eb42e8aaf03a00b3
---
M 
java/kudu-client/src/main/java/org/apache/kudu/client/GetTransactionStateRequest.java
M 
java/kudu-client/src/main/java/org/apache/kudu/client/GetTransactionStateResponse.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
4 files changed, 138 insertions(+), 3 deletions(-)



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

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

Reply via email to