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

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

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

KUDU-2612 p6: add coordination calls to system client

This adds the following calls to the TxnSystemClient:
- BeginTransaction()
- RegisterParticipant()

whose APIs roughly match those of the TxnStatusManager. For the sake of
a more focused patch, I only added these couple to build out reusable
pieces of the system client. Later patches will extend the client with
BeginCommitTransaction() and AbortTransaction() calls.

All of these calls share the same RPC-sending code, which draws loose
inspiration from the client::Batcher. I considered templatizing/reusing
the Batcher, but eventually opted not to for several reasons:
- We don't need all the bells and whistles attached to the Batcher, e.g.
  timestamp tracking and consistency modes, session-based API, etc.
- The complexity of abstracting the Batcher to the point of using it for
  other RPC types would have made the code very unwieldy and difficult
  to maintain and extend.
- Not reusing the Batcher gives us an opportunity moving forward to
  consider other approaches to batching (e.g. batching by server rather
  than by tablet ID).

Where the implementation draws inspiration from the Batcher is its usage
of the MetaCache to attach callbacks to tablet lookups, its
retry-handling, and its memory management -- namely, each request is
encapsulated in such a way that the memory used to track the call
automatically frees itself upon completion.

Change-Id: I4126cb3dcf379b397f84578c2265dca3ece3d98c
Reviewed-on: http://gerrit.cloudera.org:8080/16194
Reviewed-by: Alexey Serbin <aser...@cloudera.com>
Tested-by: Andrew Wong <aw...@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