Alexey Serbin has posted comments on this change. ( http://gerrit.cloudera.org:8080/16779 )
Change subject: WIP KUDU-2612 keep-alive txn heartbeating for C++ client ...................................................................... Patch Set 2: > I like that the heartbeating is abstracted from us. > > I guess this would mean that we'd have to create the transaction > object on the C++ side in Impala. It wouldn't be that bad to hang > it off the ClientRequestState (or session if we were to do > multi-statement transactions later). > > The easy thing to do would be: > 1. (in Java) Fetch all the metadata, do the planning, generate Kudu > scan tokens, return exec request > 2. (in C++) Open the kudu transaction > 3. Run the query > 4. (in C++) Commit the transaction > > > The bit that I'm not sure about is whether we will need to open the > transaction before generating Kudu scan tokens in future. That > would be doable I think, but might require a more complex FE<->BE > dance to open the transaction at the right time. Thank you for the feedback! Another piece of the big picture here is that there will be a similar client-side API for transactions in Java Kudu client as well (mirroring https://github.com/apache/kudu/blob/e0a439ba75e6ded0921b3da0c430fd8e1f7d5128/src/kudu/client/client.h#L327-L453 and https://github.com/apache/kudu/blob/e0a439ba75e6ded0921b3da0c430fd8e1f7d5128/src/kudu/client/client.h#L624 ). So, Impala's FE will be able to start/begin a transaction, call Serialize() on the transaction handle, and pass the result txn token to the components of Impala's BE. The latter actors would be able to create transactional sessions and write data in the scope of the transaction initiated by the Impala's FE components. -- 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: comment Gerrit-Change-Id: I0283d8e16908f641388f7a30b513a672df27a186 Gerrit-Change-Number: 16779 Gerrit-PatchSet: 2 Gerrit-Owner: Alexey Serbin <[email protected]> Gerrit-Reviewer: Alexey Serbin <[email protected]> Gerrit-Reviewer: Andrew Wong <[email protected]> Gerrit-Reviewer: Kudu Jenkins (120) Gerrit-Reviewer: Tim Armstrong <[email protected]> Gerrit-Reviewer: Zoltan Borok-Nagy <[email protected]> Gerrit-Comment-Date: Tue, 24 Nov 2020 21:28:45 +0000 Gerrit-HasComments: No
