You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@kudu.apache.org by "Andrew Wong (Code Review)" <ge...@cloudera.org> on 2022/01/19 07:29:05 UTC

[kudu-CR] [docs] update Transaction Semantics page

Andrew Wong has uploaded this change for review. ( http://gerrit.cloudera.org:8080/18158


Change subject: [docs] update Transaction Semantics page
......................................................................

[docs] update Transaction Semantics page

This patch updates the public documentation to mention the experimental
support for multi-row transactions.

A rendered version can be seen here:
https://github.com/andrwng/kudu/blob/txn_docs/docs/transaction_semantics.adoc

Change-Id: I03554b8b7b497e962f30bf1c84f9c033af4a85c1
---
M docs/transaction_semantics.adoc
1 file changed, 63 insertions(+), 29 deletions(-)



  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/58/18158/1
-- 
To view, visit http://gerrit.cloudera.org:8080/18158
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I03554b8b7b497e962f30bf1c84f9c033af4a85c1
Gerrit-Change-Number: 18158
Gerrit-PatchSet: 1
Gerrit-Owner: Andrew Wong <aw...@cloudera.com>

[kudu-CR] [docs] update Transaction Semantics page

Posted by "Alexey Serbin (Code Review)" <ge...@cloudera.org>.
Alexey Serbin has posted comments on this change. ( http://gerrit.cloudera.org:8080/18158 )

Change subject: [docs] update Transaction Semantics page
......................................................................


Patch Set 3: Code-Review+1

(1 comment)

http://gerrit.cloudera.org:8080/#/c/18158/3/docs/transaction_semantics.adoc
File docs/transaction_semantics.adoc:

http://gerrit.cloudera.org:8080/#/c/18158/3/docs/transaction_semantics.adoc@212
PS3, Line 212: when deserializing a new transaction handle
AFAIK the current API allows controlling the heartbeating property when _serializing_ the current handle.

So maybe replace this part with:

  ... when serializing the current transaction handle to pass it around ...



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I03554b8b7b497e962f30bf1c84f9c033af4a85c1
Gerrit-Change-Number: 18158
Gerrit-PatchSet: 3
Gerrit-Owner: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Alexey Serbin <as...@cloudera.com>
Gerrit-Reviewer: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Attila Bukor <ab...@apache.org>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Comment-Date: Wed, 19 Jan 2022 22:02:06 +0000
Gerrit-HasComments: Yes

[kudu-CR] [docs] update Transaction Semantics page

Posted by "Andrew Wong (Code Review)" <ge...@cloudera.org>.
Hello Alexey Serbin, Attila Bukor, Kudu Jenkins, 

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

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

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

Change subject: [docs] update Transaction Semantics page
......................................................................

[docs] update Transaction Semantics page

This patch updates the public documentation to mention the experimental
support for multi-row transactions.

A rendered version can be seen here:
https://github.com/andrwng/kudu/blob/txn_docs/docs/transaction_semantics.adoc

Change-Id: I03554b8b7b497e962f30bf1c84f9c033af4a85c1
---
M docs/transaction_semantics.adoc
1 file changed, 88 insertions(+), 37 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/58/18158/3
-- 
To view, visit http://gerrit.cloudera.org:8080/18158
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I03554b8b7b497e962f30bf1c84f9c033af4a85c1
Gerrit-Change-Number: 18158
Gerrit-PatchSet: 3
Gerrit-Owner: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Alexey Serbin <as...@cloudera.com>
Gerrit-Reviewer: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Attila Bukor <ab...@apache.org>
Gerrit-Reviewer: Kudu Jenkins (120)

[kudu-CR] [docs] update Transaction Semantics page

Posted by "Attila Bukor (Code Review)" <ge...@cloudera.org>.
Attila Bukor has posted comments on this change. ( http://gerrit.cloudera.org:8080/18158 )

Change subject: [docs] update Transaction Semantics page
......................................................................


Patch Set 1: Code-Review+1

(2 comments)

http://gerrit.cloudera.org:8080/#/c/18158/1/docs/transaction_semantics.adoc
File docs/transaction_semantics.adoc:

http://gerrit.cloudera.org:8080/#/c/18158/1/docs/transaction_semantics.adoc@57
PS1, Line 57: to the user
This seems a bit confusing


http://gerrit.cloudera.org:8080/#/c/18158/1/docs/transaction_semantics.adoc@265
PS1, Line 265: link:https://jepsen.io/consistency/models/read-committed["read committed"] semantics.
nit: indent



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I03554b8b7b497e962f30bf1c84f9c033af4a85c1
Gerrit-Change-Number: 18158
Gerrit-PatchSet: 1
Gerrit-Owner: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Alexey Serbin <as...@cloudera.com>
Gerrit-Reviewer: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Attila Bukor <ab...@apache.org>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Comment-Date: Wed, 19 Jan 2022 08:09:33 +0000
Gerrit-HasComments: Yes

[kudu-CR] [docs] update Transaction Semantics page

Posted by "Andrew Wong (Code Review)" <ge...@cloudera.org>.
Hello Alexey Serbin, Attila Bukor, Kudu Jenkins, 

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

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

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

Change subject: [docs] update Transaction Semantics page
......................................................................

[docs] update Transaction Semantics page

This patch updates the public documentation to mention the experimental
support for multi-row transactions.

A rendered version can be seen here:
https://github.com/andrwng/kudu/blob/txn_docs/docs/transaction_semantics.adoc

Change-Id: I03554b8b7b497e962f30bf1c84f9c033af4a85c1
---
M docs/transaction_semantics.adoc
1 file changed, 88 insertions(+), 37 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/58/18158/4
-- 
To view, visit http://gerrit.cloudera.org:8080/18158
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I03554b8b7b497e962f30bf1c84f9c033af4a85c1
Gerrit-Change-Number: 18158
Gerrit-PatchSet: 4
Gerrit-Owner: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Alexey Serbin <as...@cloudera.com>
Gerrit-Reviewer: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Attila Bukor <ab...@apache.org>
Gerrit-Reviewer: Kudu Jenkins (120)

[kudu-CR] [docs] update Transaction Semantics page

Posted by "Andrew Wong (Code Review)" <ge...@cloudera.org>.
Andrew Wong has posted comments on this change. ( http://gerrit.cloudera.org:8080/18158 )

Change subject: [docs] update Transaction Semantics page
......................................................................


Patch Set 1:

I opted to only discuss things relevant for client users. More details can be found at https://github.com/apache/kudu/blob/master/docs/design-docs/transactions.adoc


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I03554b8b7b497e962f30bf1c84f9c033af4a85c1
Gerrit-Change-Number: 18158
Gerrit-PatchSet: 1
Gerrit-Owner: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Alexey Serbin <as...@cloudera.com>
Gerrit-Reviewer: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Attila Bukor <ab...@apache.org>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Comment-Date: Wed, 19 Jan 2022 07:30:10 +0000
Gerrit-HasComments: No

[kudu-CR] [docs] update Transaction Semantics page

Posted by "Alexey Serbin (Code Review)" <ge...@cloudera.org>.
Alexey Serbin has posted comments on this change. ( http://gerrit.cloudera.org:8080/18158 )

Change subject: [docs] update Transaction Semantics page
......................................................................


Patch Set 1: Code-Review+1

(7 comments)

http://gerrit.cloudera.org:8080/#/c/18158/1/docs/transaction_semantics.adoc
File docs/transaction_semantics.adoc:

http://gerrit.cloudera.org:8080/#/c/18158/1/docs/transaction_semantics.adoc@102
PS1, Line 102: are not fully Atomic
nit: maybe, add more color here to be something like

... are not fully Atomic unless they are part of a multi-tablet write transaction


http://gerrit.cloudera.org:8080/#/c/18158/1/docs/transaction_semantics.adoc@169
PS1, Line 169:  described above
nit: maybe, drop this since there is already 'described above' in the end of the sentence


http://gerrit.cloudera.org:8080/#/c/18158/1/docs/transaction_semantics.adoc@174
PS1, Line 174: multiple clients per transaction
Maybe, add an extra paragraph to mention that instead of passing around transaction ID a serialized transaction handle is passed around enabling multiple clients residing at different nodes to participate in the same transaction.


http://gerrit.cloudera.org:8080/#/c/18158/1/docs/transaction_semantics.adoc@188
PS1, Line 188: operations have succeeded (i.e. did not return row errors) before committing.
Does it make sense to mention how deadlocks are resolved in the scope of multi-row transactions?


http://gerrit.cloudera.org:8080/#/c/18158/1/docs/transaction_semantics.adoc@191
PS1, Line 191: Kudu
nit: Kudu cluster


http://gerrit.cloudera.org:8080/#/c/18158/1/docs/transaction_semantics.adoc@192
PS1, Line 192: If multiple clients are expected to write to a single
             : transaction, rather than heartbeating from each client, the heartbeating can be disabled with the
             : following calls when deserializing a new transaction handle:
IIRC, the default setting for the heartbeating is off, meaning a new transaction handle created out of a serialized handle produced with default serialization option is not going to send out heartbeat messages.


http://gerrit.cloudera.org:8080/#/c/18158/1/docs/transaction_semantics.adoc@283
PS1, Line 283: are not currently supported
nit: does it make sense to clarify that's so even for a transactional session itself, i.e. while in a multi-row transaction it's not possible to have read-your-writes semantics?



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I03554b8b7b497e962f30bf1c84f9c033af4a85c1
Gerrit-Change-Number: 18158
Gerrit-PatchSet: 1
Gerrit-Owner: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Alexey Serbin <as...@cloudera.com>
Gerrit-Reviewer: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Attila Bukor <ab...@apache.org>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Comment-Date: Wed, 19 Jan 2022 18:32:19 +0000
Gerrit-HasComments: Yes

[kudu-CR] [docs] update Transaction Semantics page

Posted by "Andrew Wong (Code Review)" <ge...@cloudera.org>.
Hello Alexey Serbin, Attila Bukor, Kudu Jenkins, 

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

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

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

Change subject: [docs] update Transaction Semantics page
......................................................................

[docs] update Transaction Semantics page

This patch updates the public documentation to mention the experimental
support for multi-row transactions.

A rendered version can be seen here:
https://github.com/andrwng/kudu/blob/txn_docs/docs/transaction_semantics.adoc

Change-Id: I03554b8b7b497e962f30bf1c84f9c033af4a85c1
---
M docs/transaction_semantics.adoc
1 file changed, 88 insertions(+), 37 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/58/18158/2
-- 
To view, visit http://gerrit.cloudera.org:8080/18158
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I03554b8b7b497e962f30bf1c84f9c033af4a85c1
Gerrit-Change-Number: 18158
Gerrit-PatchSet: 2
Gerrit-Owner: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Alexey Serbin <as...@cloudera.com>
Gerrit-Reviewer: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Attila Bukor <ab...@apache.org>
Gerrit-Reviewer: Kudu Jenkins (120)

[kudu-CR] [docs] update Transaction Semantics page

Posted by "Alexey Serbin (Code Review)" <ge...@cloudera.org>.
Alexey Serbin has posted comments on this change. ( http://gerrit.cloudera.org:8080/18158 )

Change subject: [docs] update Transaction Semantics page
......................................................................


Patch Set 4: Code-Review+2


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I03554b8b7b497e962f30bf1c84f9c033af4a85c1
Gerrit-Change-Number: 18158
Gerrit-PatchSet: 4
Gerrit-Owner: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Alexey Serbin <as...@cloudera.com>
Gerrit-Reviewer: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Attila Bukor <ab...@apache.org>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Comment-Date: Wed, 19 Jan 2022 23:37:56 +0000
Gerrit-HasComments: No

[kudu-CR] [docs] update Transaction Semantics page

Posted by "Andrew Wong (Code Review)" <ge...@cloudera.org>.
Andrew Wong has posted comments on this change. ( http://gerrit.cloudera.org:8080/18158 )

Change subject: [docs] update Transaction Semantics page
......................................................................


Patch Set 3:

(1 comment)

http://gerrit.cloudera.org:8080/#/c/18158/3/docs/transaction_semantics.adoc
File docs/transaction_semantics.adoc:

http://gerrit.cloudera.org:8080/#/c/18158/3/docs/transaction_semantics.adoc@212
PS3, Line 212: when deserializing a new transaction handle
> AFAIK the current API allows controlling the heartbeating property when _se
Makes sense. I put deserializing because the effect happens upon deserializing, but it's true the configuration happens when serializing.



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I03554b8b7b497e962f30bf1c84f9c033af4a85c1
Gerrit-Change-Number: 18158
Gerrit-PatchSet: 3
Gerrit-Owner: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Alexey Serbin <as...@cloudera.com>
Gerrit-Reviewer: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Attila Bukor <ab...@apache.org>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Comment-Date: Wed, 19 Jan 2022 23:33:27 +0000
Gerrit-HasComments: Yes

[kudu-CR] [docs] update Transaction Semantics page

Posted by "Andrew Wong (Code Review)" <ge...@cloudera.org>.
Andrew Wong has submitted this change and it was merged. ( http://gerrit.cloudera.org:8080/18158 )

Change subject: [docs] update Transaction Semantics page
......................................................................

[docs] update Transaction Semantics page

This patch updates the public documentation to mention the experimental
support for multi-row transactions.

A rendered version can be seen here:
https://github.com/andrwng/kudu/blob/txn_docs/docs/transaction_semantics.adoc

Change-Id: I03554b8b7b497e962f30bf1c84f9c033af4a85c1
Reviewed-on: http://gerrit.cloudera.org:8080/18158
Tested-by: Kudu Jenkins
Reviewed-by: Alexey Serbin <as...@cloudera.com>
---
M docs/transaction_semantics.adoc
1 file changed, 88 insertions(+), 37 deletions(-)

Approvals:
  Kudu Jenkins: Verified
  Alexey Serbin: Looks good to me, approved

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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: I03554b8b7b497e962f30bf1c84f9c033af4a85c1
Gerrit-Change-Number: 18158
Gerrit-PatchSet: 5
Gerrit-Owner: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Alexey Serbin <as...@cloudera.com>
Gerrit-Reviewer: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Attila Bukor <ab...@apache.org>
Gerrit-Reviewer: Kudu Jenkins (120)

[kudu-CR] [docs] update Transaction Semantics page

Posted by "Andrew Wong (Code Review)" <ge...@cloudera.org>.
Andrew Wong has posted comments on this change. ( http://gerrit.cloudera.org:8080/18158 )

Change subject: [docs] update Transaction Semantics page
......................................................................


Patch Set 3:

(9 comments)

http://gerrit.cloudera.org:8080/#/c/18158/1/docs/transaction_semantics.adoc
File docs/transaction_semantics.adoc:

http://gerrit.cloudera.org:8080/#/c/18158/1/docs/transaction_semantics.adoc@57
PS1, Line 57: to readers 
> This seems a bit confusing
Not sure which part, but I tried clarifying. LMK how I can clarify further


http://gerrit.cloudera.org:8080/#/c/18158/1/docs/transaction_semantics.adoc@102
PS1, Line 102: are not fully Atomic
> nit: maybe, add more color here to be something like
Done


http://gerrit.cloudera.org:8080/#/c/18158/1/docs/transaction_semantics.adoc@169
PS1, Line 169: 
> nit: maybe, drop this since there is already 'described above' in the end o
Done


http://gerrit.cloudera.org:8080/#/c/18158/1/docs/transaction_semantics.adoc@174
PS1, Line 174:  can be used to create sessions 
> Maybe, add an extra paragraph to mention that instead of passing around tra
Done


http://gerrit.cloudera.org:8080/#/c/18158/1/docs/transaction_semantics.adoc@188
PS1, Line 188: transaction automatically registers itself as a participant, and is locked for further transactions
> Does it make sense to mention how deadlocks are resolved in the scope of mu
Done


http://gerrit.cloudera.org:8080/#/c/18158/1/docs/transaction_semantics.adoc@191
PS1, Line 191: 
> nit: Kudu cluster
Done


http://gerrit.cloudera.org:8080/#/c/18158/1/docs/transaction_semantics.adoc@192
PS1, Line 192: 
             : If multiple transactions lock the same tablet, Kudu uses the wait-die scheme to avoid deadlocks when
             : locking the participant: if a transaction _b_ attempts to lo
> IIRC, the default setting for the heartbeating is off, meaning a new transa
Done


http://gerrit.cloudera.org:8080/#/c/18158/1/docs/transaction_semantics.adoc@265
PS1, Line 265: 
> nit: indent
Done


http://gerrit.cloudera.org:8080/#/c/18158/1/docs/transaction_semantics.adoc@283
PS1, Line 283: ead committed"] semantics.
> nit: does it make sense to clarify that's so even for a transactional sessi
Done



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I03554b8b7b497e962f30bf1c84f9c033af4a85c1
Gerrit-Change-Number: 18158
Gerrit-PatchSet: 3
Gerrit-Owner: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Alexey Serbin <as...@cloudera.com>
Gerrit-Reviewer: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Attila Bukor <ab...@apache.org>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Comment-Date: Wed, 19 Jan 2022 20:15:27 +0000
Gerrit-HasComments: Yes