Andrew Wong has posted comments on this change. ( http://gerrit.cloudera.org:8080/16194 )
Change subject: KUDU-2612 p6: add coordination calls to system client ...................................................................... Patch Set 3: (15 comments) http://gerrit.cloudera.org:8080/#/c/16194/3/src/kudu/client/meta_cache.h File src/kudu/client/meta_cache.h: http://gerrit.cloudera.org:8080/#/c/16194/3/src/kudu/client/meta_cache.h@104 PS3, Line 104: std::shared_ptr<tserver::TabletServerAdminServiceProxy> admin_proxy() const; > This new method follows the suite established earlier by the proxy() method Done http://gerrit.cloudera.org:8080/#/c/16194/3/src/kudu/client/meta_cache.cc File src/kudu/client/meta_cache.cc: http://gerrit.cloudera.org:8080/#/c/16194/3/src/kudu/client/meta_cache.cc@207 PS3, Line 207: CHECK > nit: switch to DCHECK()? Done http://gerrit.cloudera.org:8080/#/c/16194/3/src/kudu/integration-tests/txn_status_table-itest.cc File src/kudu/integration-tests/txn_status_table-itest.cc: http://gerrit.cloudera.org:8080/#/c/16194/3/src/kudu/integration-tests/txn_status_table-itest.cc@162 PS3, Line 162: "user" > nit: maybe, make this a constant (constexpr)? Done http://gerrit.cloudera.org:8080/#/c/16194/3/src/kudu/integration-tests/txn_status_table-itest.cc@177 PS3, Line 177: until it : // times out > Is this actually verifiable by this test scenario? I.e., how to make sure Done, updated to check that if the tserver comes back up, the call is successful. http://gerrit.cloudera.org:8080/#/c/16194/3/src/kudu/integration-tests/txn_status_table-itest.cc@190 PS3, Line 190: "user" > If looking at that as a black box, does it make sense to add a scenario wi Done http://gerrit.cloudera.org:8080/#/c/16194/3/src/kudu/integration-tests/txn_status_table-itest.cc@214 PS3, Line 214: KuduTest::SetUp(); > warning: qualified name 'KuduTest::SetUp' refers to a member overridden in Ack http://gerrit.cloudera.org:8080/#/c/16194/3/src/kudu/integration-tests/txn_status_table-itest.cc@231 PS3, Line 231: if (!tablets.empty()) { : return tablets[0]; : } > Is there a requirement to have the same tablet identifier among the results Done http://gerrit.cloudera.org:8080/#/c/16194/3/src/kudu/integration-tests/txn_status_table-itest.cc@300 PS3, Line 300: ASSERT_OK(txn_sys_client_->CreateTxnStatusTable(100, 3)); : ASSERT_OK(txn_sys_client_->OpenTxnStatusTable()); : ASSERT_OK(txn_sys_client_->BeginTransaction(1, "user")); > This looks like a pattern in all three tests scenarios. Maybe, represent t Done http://gerrit.cloudera.org:8080/#/c/16194/3/src/kudu/integration-tests/txn_status_table-itest.cc@315 PS3, Line 315: } // namespace itest > Ah, those are actually present already. I started reading the patch in rev Ack http://gerrit.cloudera.org:8080/#/c/16194/3/src/kudu/transactions/coordinator_rpc.h File src/kudu/transactions/coordinator_rpc.h: http://gerrit.cloudera.org:8080/#/c/16194/3/src/kudu/transactions/coordinator_rpc.h@58 PS3, Line 58: CoordinatorRpc* > Is it a requirement to return a raw pointer? If not, maybe consider return It makes the memory-management a bit cheaper, since the memory may outlive a unique_ptr unless we start tracking out-going calls in some internal map. http://gerrit.cloudera.org:8080/#/c/16194/3/src/kudu/transactions/coordinator_rpc.h@58 PS3, Line 58: std::unique_ptr<TxnStatusTabletContext> ctx > Is it possible to allocate this on the stack and use move semantics when pa It becomes tricky because of how we capture the context in CoordinateTransactionAsync(). I left a TODO to address this once move-capture lambda become a thing in our codebase. http://gerrit.cloudera.org:8080/#/c/16194/3/src/kudu/transactions/coordinator_rpc.h@62 PS3, Line 62: virtual > nit: why virtual is necessary here (the base class has virtual destructor a Done http://gerrit.cloudera.org:8080/#/c/16194/3/src/kudu/transactions/coordinator_rpc.cc File src/kudu/transactions/coordinator_rpc.cc: http://gerrit.cloudera.org:8080/#/c/16194/3/src/kudu/transactions/coordinator_rpc.cc@104 PS3, Line 104: > nit: the indent is one space off Done http://gerrit.cloudera.org:8080/#/c/16194/3/src/kudu/transactions/txn_system_client.h File src/kudu/transactions/txn_system_client.h: http://gerrit.cloudera.org:8080/#/c/16194/3/src/kudu/transactions/txn_system_client.h@79 PS3, Line 79: client::sp::shared_ptr<client::KuduTable> > Given this interface is for internal consumption only and doesn't have the Done http://gerrit.cloudera.org:8080/#/c/16194/3/src/kudu/transactions/txn_system_client.h@85 PS3, Line 85: client::sp::shared_ptr<client::KuduClient> > Ditto here w.r.t. std::shared_ptr Done -- To view, visit http://gerrit.cloudera.org:8080/16194 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I4126cb3dcf379b397f84578c2265dca3ece3d98c Gerrit-Change-Number: 16194 Gerrit-PatchSet: 3 Gerrit-Owner: Andrew Wong <[email protected]> Gerrit-Reviewer: Alexey Serbin <[email protected]> Gerrit-Reviewer: Andrew Wong <[email protected]> Gerrit-Reviewer: Kudu Jenkins (120) Gerrit-Reviewer: Tidy Bot (241) Gerrit-Comment-Date: Tue, 28 Jul 2020 17:51:01 +0000 Gerrit-HasComments: Yes
