Hao Hao has posted comments on this change. ( http://gerrit.cloudera.org:8080/16952 )
Change subject: KUDU-2612: background task to commit transaction ...................................................................... Patch Set 14: (9 comments) http://gerrit.cloudera.org:8080/#/c/16952/14/src/kudu/transactions/txn_status_manager.h File src/kudu/transactions/txn_status_manager.h: http://gerrit.cloudera.org:8080/#/c/16952/14/src/kudu/transactions/txn_status_manager.h@92 PS14, Line 92: BeginCommitTask nit: maybe name it BeginCommitAsyncTask if it is asynchronously as well. Same for below. http://gerrit.cloudera.org:8080/#/c/16952/14/src/kudu/transactions/txn_status_manager.h@102 PS14, Line 102: commit_timestamp nit: can you comment on how the timestamp will be used? http://gerrit.cloudera.org:8080/#/c/16952/14/src/kudu/transactions/txn_status_manager.h@321 PS14, Line 321: // Loads the contents of the transaction status tablet into memory. nit: can you update the comment to add that we will also load commits in flight and resume these commits? http://gerrit.cloudera.org:8080/#/c/16952/7/src/kudu/transactions/txn_status_manager.cc File src/kudu/transactions/txn_status_manager.cc: http://gerrit.cloudera.org:8080/#/c/16952/7/src/kudu/transactions/txn_status_manager.cc@205 PS7, Line 205: return; : } nit: should this comment be moved to L201 to cover 's.IsNotFound()' case? http://gerrit.cloudera.org:8080/#/c/16952/14/src/kudu/transactions/txn_status_manager.cc File src/kudu/transactions/txn_status_manager.cc: http://gerrit.cloudera.org:8080/#/c/16952/14/src/kudu/transactions/txn_status_manager.cc@123 PS14, Line 123: " nit: space. http://gerrit.cloudera.org:8080/#/c/16952/14/src/kudu/transactions/txn_status_manager.cc@215 PS14, Line 215: If the participant has been deleted (it's not found), proceed as if it : // were committed. nit: remove? http://gerrit.cloudera.org:8080/#/c/16952/14/src/kudu/transactions/txn_status_manager.cc@257 PS14, Line 257: if (stop_task_ || txn_status_manager_->shutting_down()) { : if (--ops_in_flight_ == 0) { : txn_status_manager_->RemoveCommitTask(this->txn_id_.value(), this); : } : return; : } nit: do you think this block of code worth writing to a method of own? As I see it is repeating serval places? http://gerrit.cloudera.org:8080/#/c/16952/14/src/kudu/transactions/txn_status_manager.cc@268 PS14, Line 268: (PREDICT_FALSE(!s.ok())) { : LOG(WARNING) << Substitute("Participant $0 FINALIZE_COMMIT op returned $1", : participant_ids_[participant_idx], s.ToString()); : } So we proceed to ScheduleFinalizeCommitWrite even we encounter error here? http://gerrit.cloudera.org:8080/#/c/16952/14/src/kudu/transactions/txn_status_manager.cc@787 PS14, Line 787: // If there are no participants for this transaction; just write an invalid : // timestamp This happens when there is no ops in the transaction? What does invalid timestamp mean in this case? -- To view, visit http://gerrit.cloudera.org:8080/16952 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ie2258dded3ab3d527cb5d0abdc7d5e7deb4da15e Gerrit-Change-Number: 16952 Gerrit-PatchSet: 14 Gerrit-Owner: Andrew Wong <[email protected]> Gerrit-Reviewer: Alexey Serbin <[email protected]> Gerrit-Reviewer: Andrew Wong <[email protected]> Gerrit-Reviewer: Hao Hao <[email protected]> Gerrit-Reviewer: Kudu Jenkins (120) Gerrit-Comment-Date: Fri, 05 Feb 2021 01:35:35 +0000 Gerrit-HasComments: Yes
