Alexey Serbin has submitted this change and it was merged. ( 
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 multi-row
transaction is propagated to a Kudu Java client upon calling either
KuduTransaction.isCommitComplete() or KuduTransaction.commit(true).
The former propagates the timestamp for the case of committing a
transaction asynchronously, the latter works for the synchronous case.

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
Reviewed-on: http://gerrit.cloudera.org:8080/17356
Reviewed-by: Andrew Wong <[email protected]>
Tested-by: Kudu Jenkins
---
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(-)

Approvals:
  Andrew Wong: Looks good to me, approved
  Kudu Jenkins: Verified

--
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: merged
Gerrit-Change-Id: I4177fe0d137b70bd18dd6c87eb42e8aaf03a00b3
Gerrit-Change-Number: 17356
Gerrit-PatchSet: 3
Gerrit-Owner: Alexey Serbin <[email protected]>
Gerrit-Reviewer: Alexey Serbin <[email protected]>
Gerrit-Reviewer: Andrew Wong <[email protected]>
Gerrit-Reviewer: Kudu Jenkins (120)

Reply via email to