-
Notifications
You must be signed in to change notification settings - Fork 589
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
cloud_storage: parallelize remote_segment stop
CONFLICT: - omits changes to many_partitions_test which doesn't have a tiered storage case on this branch The eviction loop is currently run serially and is waited for by each remote_partition upon stopping, which effecitvely serializes partition_manager stopping each of its partitions. This resulted in what looked like a hang, but was actually a series of waits to stop cloud segments. This commit parallelizes segment stopping in both the eviction loop and in the remote_partition stop call. A test that previously took over 9 minutes to shutdown a node now takes 10 seconds. I also considered moving the eviction loop into the remote_partition to further reduce partitions waiting for each other to complete, but that wasn't necessary to avoid this issue. This also adds a test case similar to the tiered storage many_partitions_test case that reproduces slow shutdown with a large number of partitions and a large number of segments. On my local workstation, the test consistently fails to finish shutting down in 30 seconds without these changes. (cherry picked from commit b8ba09c)
- Loading branch information
Showing
5 changed files
with
123 additions
and
15 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