Hello Dinesh Bhat, Todd Lipcon, Kudu Jenkins, I'd like you to reexamine a change. Please visit
http://gerrit.cloudera.org:8080/5045 to look at the new patch set (#11). Change subject: KUDU-921. tablet copy: Make the StartTabletCopy() RPC async ...................................................................... KUDU-921. tablet copy: Make the StartTabletCopy() RPC async This patch changes tablet copy to execute on its own thread pool. This clears up threads on the Consensus service pool for other tasks. A new ThreadPool called tablet_copy_pool_ was added to TSTabletManager to run TabletCopy operations. Its max_threads parameter is tunable with a new gflag and it has its max_queue_size hard-coded to 0 in order to provide backpressure when it doesn't have capacity to immediately copy new tablets. This patch changes the semantics of StartTabletCopy() to return as soon as the tablet copy has started -- it no longer waits until the process is completed to return. Clients can follow the progress of the tablet copy process using the ListTablets() RPC call and waiting for the tablet to be in a RUNNING state. A test was added in tablet_copy-itest that checks that the backpressure mechanism is working such that submitting too many StartTabletCopy() requests at one time results in a ServiceUnavailable error. Some additional tests were added in tablet_copy_client_session-itest to improve test coverage of the StartTabletCopy() code path. Change-Id: I95c63f2bfd67624844447862efbdba9cb3676112 --- M src/kudu/integration-tests/cluster_itest_util.h M src/kudu/integration-tests/tablet_copy-itest.cc M src/kudu/integration-tests/tablet_copy_client_session-itest.cc M src/kudu/master/catalog_manager.cc M src/kudu/master/catalog_manager.h M src/kudu/tserver/tablet_copy_service.cc M src/kudu/tserver/tablet_peer_lookup.h M src/kudu/tserver/tablet_service.cc M src/kudu/tserver/ts_tablet_manager.cc M src/kudu/tserver/ts_tablet_manager.h 10 files changed, 356 insertions(+), 91 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/45/5045/11 -- To view, visit http://gerrit.cloudera.org:8080/5045 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: I95c63f2bfd67624844447862efbdba9cb3676112 Gerrit-PatchSet: 11 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Mike Percy <mpe...@apache.org> Gerrit-Reviewer: Adar Dembo <a...@cloudera.com> Gerrit-Reviewer: Dinesh Bhat <din...@cloudera.com> Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Mike Percy <mpe...@apache.org> Gerrit-Reviewer: Tidy Bot Gerrit-Reviewer: Todd Lipcon <t...@apache.org>