forked from bharathv/kudu
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
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 Reviewed-on: http://gerrit.cloudera.org:8080/5045 Tested-by: Kudu Jenkins Reviewed-by: Todd Lipcon <[email protected]>
- Loading branch information
1 parent
2acf1ba
commit bec5f9b
Showing
10 changed files
with
341 additions
and
89 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.