Andrew Wong has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/16277 )

Change subject: KUDU-2612 p7: add transaction participants to tablets
......................................................................


Patch Set 6:

(8 comments)

http://gerrit.cloudera.org:8080/#/c/16277/4/src/kudu/integration-tests/txn_participant-itest.cc
File src/kudu/integration-tests/txn_participant-itest.cc:

http://gerrit.cloudera.org:8080/#/c/16277/4/src/kudu/integration-tests/txn_participant-itest.cc@84
PS4, Line 84: statuses[i] =
> nit: maybe, if this assignment assumes that statuses[i].ok() at this moment
Done


http://gerrit.cloudera.org:8080/#/c/16277/4/src/kudu/integration-tests/txn_participant-itest.cc@123
PS4, Line 123: ST_F(TxnParticipantITest
> Does it make sense to move it into the SetUp() method?
Done


http://gerrit.cloudera.org:8080/#/c/16277/4/src/kudu/integration-tests/txn_participant-itest.cc@200
PS4, Line 200: vector<TabletReplica*>
> Does it make sense to move it into the SetUp() method?
Done


http://gerrit.cloudera.org:8080/#/c/16277/4/src/kudu/integration-tests/txn_participant-itest.cc@219
PS4, Line 219: vecto
> nit: constexpr ?
Done


http://gerrit.cloudera.org:8080/#/c/16277/4/src/kudu/tablet/txn_participant.h
File src/kudu/tablet/txn_participant.h:

http://gerrit.cloudera.org:8080/#/c/16277/4/src/kudu/tablet/txn_participant.h@135
PS4, Line 135: void B
> here and below: if there methods cannot return anything except for Status::
Done


http://gerrit.cloudera.org:8080/#/c/16277/4/src/kudu/tablet/txn_participant.h@136
PS4, Line 136: SetState(
> Is it intended that all Validate... are gone in case of a  release build?
Yeah, Validate... would have been called in the prepare phase already -- I 
added it again here to ensure the state could not somehow change. That said, 
I'll remove this entirely since this will not be the case when we bootstrap.


http://gerrit.cloudera.org:8080/#/c/16277/4/src/kudu/tablet/txn_participant.h@213
PS4, Line 213: std::vector<TxnEntry>
> How do the caller know if it did anything to the requested record?  And whe
Not sure I understand the question: are you asking whether this should indicate 
to callers whether the in-memory transaction was deleted?


http://gerrit.cloudera.org:8080/#/c/16277/4/src/kudu/tablet/txn_participant.h@223
PS4, Line 223: inline bool operator==(const TxnParticipant::TxnEntry& lhs, 
const TxnParticipant::TxnEntry& rhs) {
             :   return lhs.txn_id == rhs.txn_id &&
             :       lhs.state == rhs.state &&
             :       lhs.commit_timestamp == rhs.commit_timestamp;
             : }
> Is this needed?  I thought this would be generated automatically by the com
I was surprised too, but it is needed. C++ won't automatically define equality 
for structs:

https://stackoverflow.com/questions/5740310/no-operator-found-while-comparing-structs-in-c/5740505



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I39201ce1d911308cd28f3f4790a126e30052f3bf
Gerrit-Change-Number: 16277
Gerrit-PatchSet: 6
Gerrit-Owner: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Alexey Serbin <aser...@cloudera.com>
Gerrit-Reviewer: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Comment-Date: Wed, 12 Aug 2020 23:13:50 +0000
Gerrit-HasComments: Yes

Reply via email to