You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@kudu.apache.org by "Alexey Serbin (Code Review)" <ge...@cloudera.org> on 2020/12/05 03:05:40 UTC

[kudu-CR] KUDU-2612 keep-alive txn heartbeating for C++ client

Hello Kudu Jenkins, Zoltan Borok-Nagy, Andrew Wong, Tim Armstrong, 

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

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

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

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
---
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/integration-tests/txn_status_manager-itest.cc
M src/kudu/transactions/transactions.proto
8 files changed, 487 insertions(+), 63 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/79/16779/3
-- 
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: newpatchset
Gerrit-Change-Id: I0283d8e16908f641388f7a30b513a672df27a186
Gerrit-Change-Number: 16779
Gerrit-PatchSet: 3
Gerrit-Owner: Alexey Serbin <as...@cloudera.com>
Gerrit-Reviewer: Alexey Serbin <as...@cloudera.com>
Gerrit-Reviewer: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tim Armstrong <ta...@cloudera.com>
Gerrit-Reviewer: Zoltan Borok-Nagy <bo...@cloudera.com>