Chris Lu and GitHub
78e428758b
volume.fix.replication: parallelize under-replicated volume copies ( #10275 )
...
* volume.fix.replication: parallelize under-replicated volume copies
Fan out fixOneUnderReplicatedVolume up to -maxParallelization at a time.
Destination selection and free-slot accounting stay atomic behind a
scheduler mutex, so concurrent fixes see each other's reservations; a
failed copy returns its reserved slot. A per-server in-flight cap
(-maxParallelizationPerServer, default 1) keeps many simultaneous copies
from swamping a single destination server; when every eligible
destination is at the cap the fix waits for a slot instead of failing.
* volume.fix.replication: isolate the scheduler's location ordering
Clone allLocations before the per-volume fan-out so the scheduler's
re-sorting cannot alias the slice shared with the concurrent delete
phases, and make the test's per-iteration location copy explicit.
2026-07-08 20:03:01 -07:00
..
2026-06-01 15:11:02 -07:00
2026-01-07 13:06:08 -08:00
2026-01-07 13:06:08 -08:00
2026-01-07 13:06:08 -08:00
2026-01-07 13:06:08 -08:00
2026-01-07 13:06:08 -08:00
2026-01-07 13:06:08 -08:00
2026-05-20 23:31:21 -07:00
2026-05-20 23:31:21 -07:00
2025-11-09 19:58:38 -08:00
2026-04-21 20:17:42 -07:00
2026-07-03 12:39:45 -07:00
2026-06-10 22:31:18 -07:00
2026-06-30 20:01:55 -07:00
2026-06-30 20:01:55 -07:00
2026-06-01 19:25:15 -07:00
2026-06-22 11:23:23 -07:00
2026-06-22 01:22:20 -07:00
2026-06-22 01:22:20 -07:00
2026-06-24 08:40:29 -07:00
2026-06-25 10:38:14 -07:00
2026-06-30 23:20:50 -07:00
2026-07-02 11:58:08 -07:00
2026-07-03 10:47:14 -07:00
2026-06-30 15:35:27 -07:00
2025-10-24 20:21:35 -07:00
2025-10-24 20:21:35 -07:00
2026-05-07 17:45:04 -07:00
2026-04-17 21:09:36 -07:00
2026-04-17 21:09:36 -07:00
2025-10-24 20:21:35 -07:00
2026-01-07 13:06:08 -08:00
2025-10-24 20:21:35 -07:00
2026-06-30 13:28:53 -07:00
2026-06-30 13:28:53 -07:00
2025-10-24 20:21:35 -07:00
2026-04-28 12:30:13 -07:00
2026-04-28 12:30:13 -07:00
2026-01-14 21:37:50 -08:00
2026-06-01 09:54:22 -07:00
2025-10-24 20:21:35 -07:00
2026-06-08 23:42:13 -07:00
2026-06-08 23:42:13 -07:00
2025-10-24 20:21:35 -07:00
2025-10-24 20:21:35 -07:00
2025-10-24 20:21:35 -07:00
2026-06-19 09:09:01 -07:00
2026-01-07 13:06:08 -08:00
2025-10-17 22:11:50 -07:00
2026-01-07 13:06:08 -08:00
2025-10-13 18:05:17 -07:00
2026-05-12 12:37:09 -07:00
2026-01-07 13:06:08 -08:00
2026-01-07 13:06:08 -08:00
2025-09-09 01:01:03 -07:00
2026-06-08 13:55:53 -07:00
2026-05-07 17:45:04 -07:00
2026-07-04 10:50:32 -07:00
2026-07-04 10:50:32 -07:00
2026-07-01 12:14:19 -07:00
2026-07-01 12:14:19 -07:00
2026-07-01 12:14:19 -07:00
2026-02-05 12:57:27 -08:00
2026-07-04 10:50:32 -07:00
2026-01-07 13:06:08 -08:00
2026-05-18 13:42:32 -07:00
2026-05-18 13:42:32 -07:00
2026-05-18 13:42:32 -07:00
2026-05-18 13:42:32 -07:00
2026-05-18 13:42:32 -07:00
2026-05-18 13:42:32 -07:00
2026-05-18 13:42:32 -07:00
2026-03-25 23:09:53 -07:00
2026-05-18 13:42:32 -07:00
2026-01-27 10:50:16 -08:00
2025-12-13 13:41:25 -08:00
2026-06-06 11:20:15 -07:00
2026-07-08 14:32:04 -07:00
2026-01-27 10:50:16 -08:00
2025-12-12 18:06:13 -08:00
2026-07-03 12:39:45 -07:00
2025-07-16 23:39:27 -07:00
2026-02-26 11:56:10 -08:00
2022-09-16 02:43:49 -07:00
2026-05-07 17:45:04 -07:00
2025-07-16 23:39:27 -07:00
2026-05-18 13:42:32 -07:00
2026-05-18 13:42:32 -07:00
2026-05-18 13:42:32 -07:00
2026-05-18 13:42:32 -07:00
2026-05-18 13:42:32 -07:00
2026-05-18 13:42:32 -07:00
2026-05-18 13:42:32 -07:00
2026-05-18 13:42:32 -07:00
2026-06-24 19:36:42 -07:00
2026-05-18 13:42:32 -07:00
2026-05-18 13:42:32 -07:00
2026-05-12 18:29:18 -07:00
2026-05-13 00:19:05 -07:00
2026-05-18 13:42:32 -07:00
2026-05-18 13:42:32 -07:00
2026-05-18 13:42:32 -07:00
2026-05-18 13:42:32 -07:00
2026-05-18 13:42:32 -07:00
2026-05-18 13:42:32 -07:00
2026-05-18 13:42:32 -07:00
2026-05-18 13:42:32 -07:00
2026-05-18 13:42:32 -07:00
2026-05-18 13:42:32 -07:00
2026-05-18 13:42:32 -07:00
2026-05-18 13:42:32 -07:00
2026-05-18 13:42:32 -07:00
2026-05-18 13:42:32 -07:00
2026-07-08 18:50:54 -07:00
2026-04-28 12:30:13 -07:00
2026-01-30 22:57:05 -08:00
2026-04-28 12:30:13 -07:00
2026-01-30 22:57:05 -08:00
2026-03-03 15:10:40 -08:00
2026-07-08 09:29:59 -07:00
2026-07-08 09:29:59 -07:00
2026-06-13 20:05:33 -07:00
2026-06-13 20:05:33 -07:00
2026-01-16 12:31:48 -08:00
2026-02-24 20:07:26 -08:00
2026-06-29 12:43:19 -07:00
2026-06-29 12:43:19 -07:00
2026-05-06 15:19:43 -07:00
2026-06-26 00:48:29 -07:00
2026-07-08 20:03:01 -07:00
2026-06-13 20:05:33 -07:00
2026-07-08 20:03:01 -07:00
2026-06-24 19:36:42 -07:00
2026-01-07 13:06:08 -08:00
2026-06-29 11:31:45 -07:00
2026-06-29 12:43:19 -07:00
2026-06-23 11:27:43 -07:00
2026-06-23 11:27:43 -07:00
2026-05-28 19:29:25 -07:00
2026-05-28 19:29:25 -07:00
2026-01-07 13:06:08 -08:00
2026-05-06 15:19:43 -07:00
2026-06-10 13:29:07 -07:00
2023-03-13 10:00:27 -07:00
2026-05-20 10:27:00 -07:00
2025-11-09 19:58:38 -08:00
2026-02-11 11:02:37 -08:00
2026-03-20 23:52:12 -07:00
2026-06-13 20:09:00 -07:00
2026-06-13 20:09:00 -07:00
2026-06-11 10:46:34 -07:00
2026-06-13 20:09:00 -07:00
2026-05-06 15:19:43 -07:00
2026-01-07 13:06:08 -08:00
2024-09-29 10:38:22 -07:00
2024-09-29 10:38:22 -07:00
2026-04-20 15:32:31 -07:00
2026-04-07 14:10:15 -07:00
2026-05-21 02:16:28 -07:00
2025-12-15 11:18:45 -08:00
2026-01-16 12:31:48 -08:00
2026-04-03 16:04:27 -07:00
2026-01-06 00:09:52 -08:00
2026-06-14 13:55:36 -07:00
2026-04-08 13:07:15 -07:00
2025-12-15 11:18:45 -08:00
2025-12-15 11:18:45 -08:00
2025-12-15 11:18:45 -08:00