[ 
https://issues.apache.org/jira/browse/KUDU-2612?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17273964#comment-17273964
 ] 

ASF subversion and git services commented on KUDU-2612:
-------------------------------------------------------

Commit 948f92e787136f12dbfb3e7195fef24db0be0088 in kudu's branch 
refs/heads/master from Andrew Wong
[ https://gitbox.apache.org/repos/asf?p=kudu.git;h=948f92e ]

KUDU-2612: add a TxnSystemClient to the tservers

This patch adds a TxnSystemClient that gets initialized asynchronously,
attempting to connect to the masters in the background in a similar
fashion to the Heartbeater threads.

There is some intricacy in the initialization of the client to note.
Namely, if trying to connect to a set of masters while none of the
masters can be reached, the KuduClientBuilder will attempt to retry
connecting to each master repeatedly. This is problematic, as several
tserver tests do not spin up masters. So, taking a page out of the
Heartbeater book, the initialization will first ping each master. As
long as at least one of them can connect, the TxnSystemClient will then
proceed to attempt to connect to the cluster.

This patch focuses only on adding the client initialization logic to the
tservers, ensuring that even without connecting to a cluster, tservers
can successfully bootstrap. This client will be used in later patches to
communicate between the TxnStatusManager and transaction participants.

Also note the similarities between TxnManager initialization, which
happens on masters in a single-threaded threadpool. I considered reusing
the implementation for tservers, but opted not to given the TxnManager
initialization fairly well embedded in master code and has some
initialization pieces not needed by TxnStatusManagers and participants
(e.g. tservers aren't in charge of creating the transaction status
table). I left a TODO to refactor for code reuse.

Change-Id: I33b5a2bb5c56ae4bb4b42069af5813e2780fc4bc
Reviewed-on: http://gerrit.cloudera.org:8080/16974
Tested-by: Kudu Jenkins
Reviewed-by: Alexey Serbin <aser...@cloudera.com>


> Implement multi-row transactions
> --------------------------------
>
>                 Key: KUDU-2612
>                 URL: https://issues.apache.org/jira/browse/KUDU-2612
>             Project: Kudu
>          Issue Type: Task
>            Reporter: Mike Percy
>            Priority: Major
>              Labels: roadmap-candidate
>
> Tracking Jira to implement multi-row / multi-table transactions in Kudu.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to