Alexey Serbin has submitted this change and it was merged. ( 
http://gerrit.cloudera.org:8080/16779 )

Change subject: KUDU-2612 keep-alive txn heartbeating for C++ client
......................................................................

KUDU-2612 keep-alive txn heartbeating for C++ client

This patch adds keep-alive txn heartbeating into the Kudu C++ client.

The txn keepalive heartbeating is performed automatically by the client,
and no API is exposed to send keep-alive messages for a transaction.
The txn keepalive heartbeating continues until the original transaction
handle (i.e. the handle created by KuduClient::NewTransaction()) goes
out of scope.  In contrast, if the transaction handle is created by
KuduTransaction::Deserialize(), the keepalive messages are or aren't
sent depending on the KuduTransactionSerializer::enable_keepalive()
setting when serializing the source handle.  By default, keepalive
messages are not sent for deserialized transaction handles.  This is
because the most common use case for multiple actors working in the
context of the same transaction is supposed to be of the
"star topology", when a transaction is started and committed by
a top-level application who shares the context of the transaction with
other applications which only submit their data, but don't manage the
lifecycle of the transaction.

This patch also contains a couple of test scenarios to cover the
newly introduced functionality.

Change-Id: I0283d8e16908f641388f7a30b513a672df27a186
Reviewed-on: http://gerrit.cloudera.org:8080/16779
Reviewed-by: Andrew Wong <aw...@cloudera.com>
Tested-by: Kudu Jenkins
---
M src/kudu/client/client-test.cc
M src/kudu/client/client.cc
M src/kudu/client/client.h
M src/kudu/client/transaction-internal.cc
M src/kudu/client/transaction-internal.h
M src/kudu/client/txn_manager_proxy_rpc.cc
M src/kudu/client/txn_manager_proxy_rpc.h
M src/kudu/integration-tests/txn_status_manager-itest.cc
M src/kudu/transactions/transactions.proto
9 files changed, 514 insertions(+), 71 deletions(-)

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

--
To view, visit http://gerrit.cloudera.org:8080/16779
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: I0283d8e16908f641388f7a30b513a672df27a186
Gerrit-Change-Number: 16779
Gerrit-PatchSet: 8
Gerrit-Owner: Alexey Serbin <aser...@cloudera.com>
Gerrit-Reviewer: Alexey Serbin <aser...@cloudera.com>
Gerrit-Reviewer: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Hao Hao <hao....@cloudera.com>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tim Armstrong <tarmstr...@cloudera.com>
Gerrit-Reviewer: Zoltan Borok-Nagy <borokna...@cloudera.com>

Reply via email to