Chris Lu
7eb90fdfd7
Enhance EC balancing to separate parity and data shards ( #8038 )
...
* Enhance EC balancing to separate parity and data shards across racks
* Rename avoidRacks to antiAffinityRacks for clarity
* Implement server-level EC separation for parity/data shards
* Optimize EC balancing: consolidate helpers and extract two-pass selection logic
* Add comprehensive edge case tests for EC balancing logic
* Apply code review feedback: rename select_(), add divide-by-zero guard, fix comment
* Remove unused parameters from doBalanceEcShardsWithinOneRack and add explicit anti-affinity check
* Add disk-level anti-affinity for data/parity shard separation
- Modified pickBestDiskOnNode to accept shardId and dataShardCount
- Implemented explicit anti-affinity: 1000-point penalty for placing data shards on disks with parity (and vice versa)
- Updated all call sites including balancing and evacuation
- For evacuation, disabled anti-affinity by passing dataShardCount=0
2026-01-15 12:43:44 -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-01-07 13:06:08 -08:00
2026-01-07 13:06:08 -08:00
2025-12-17 16:40:27 -08:00
2026-01-06 00:09:52 -08:00
2025-11-09 19:58:38 -08:00
2026-01-07 13:06:08 -08:00
2025-12-10 22:42:52 -08:00
2026-01-15 12:43:44 -08:00
2025-12-19 13:29:12 -08:00
2026-01-15 12:43:44 -08:00
2025-12-28 19:30:42 -08:00
2025-12-28 19:30:42 -08:00
2026-01-04 00:38:53 -08:00
2026-01-06 00:09:52 -08:00
2025-12-28 19:30:42 -08:00
2025-10-24 20:21:35 -07:00
2025-10-24 20:21:35 -07:00
2025-11-09 19:58:38 -08: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-01-14 21:37:50 -08:00
2025-10-24 20:21:35 -07:00
2026-01-14 21:37:50 -08:00
2025-11-18 07:45:12 -08:00
2026-01-14 21:37:50 -08:00
2026-01-14 21:37:50 -08: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
2025-10-24 20:21:35 -07:00
2025-10-24 20:21:35 -07:00
2026-01-14 21:37:50 -08: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-01-07 13:06:08 -08: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
2025-12-16 12:41:04 -08:00
2025-12-28 11:39:06 -08:00
2026-01-15 00:52:57 -08:00
2026-01-14 14:45:52 -08:00
2026-01-07 13:06:08 -08:00
2026-01-14 14:45:52 -08:00
2025-07-16 23:39:27 -07:00
2026-01-07 13:06:08 -08:00
2025-12-12 18:06:13 -08:00
2025-12-13 13:41:25 -08:00
2025-12-12 18:06:13 -08:00
2025-12-12 18:06:13 -08:00
2025-12-12 12:51:48 -08:00
2025-07-16 23:39:27 -07:00
2022-09-16 02:43:49 -07:00
2025-03-31 21:42:54 -07:00
2025-07-16 23:39:27 -07:00
2025-11-19 20:34:38 -08:00
2025-08-23 11:04:24 -07:00
2026-01-06 00:09:52 -08:00
2025-12-02 10:14:24 -08:00
2025-12-03 11:33:35 -08:00
2025-07-16 23:39:27 -07:00
2026-01-07 13:06:08 -08:00
2025-11-09 19:58:38 -08:00
2026-01-07 13:06:08 -08:00
2024-09-26 08:34:13 -07:00
2025-12-26 12:42:00 -08:00
2026-01-14 21:37:50 -08:00
2026-01-07 13:06:08 -08:00
2026-01-06 00:09:52 -08:00
2025-12-30 17:27:11 -08:00
2024-09-29 10:38:22 -07:00
2026-01-07 13:06:08 -08:00
2024-12-18 11:59:48 -08:00
2026-01-07 13:06:08 -08:00
2025-12-16 23:16:07 -08:00
2023-03-13 10:00:27 -07:00
2026-01-15 12:43:44 -08:00
2025-11-09 19:58:38 -08:00
2025-08-23 11:04:24 -07:00
2025-12-16 23:16:07 -08:00
2025-08-23 11:04:24 -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
2024-09-29 10:38:22 -07:00
2024-09-29 10:38:22 -07:00
2025-10-30 23:36:06 -07:00
2025-12-15 11:18:45 -08:00
2025-12-02 09:29:27 -08:00
2025-12-19 13:29:12 -08:00
2025-12-28 19:30:42 -08:00
2026-01-06 00:09:52 -08:00
2025-10-24 19:02:44 -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