Calle Wilund
d566010412
network_topology_strategy/alter ks: Remove dc:s from options once rf=0
...
Fixes #22688
If we set a dc rf to zero, the options map will still retain a dc=0 entry.
If this dc is decommissioned, any further alters of keyspace will fail,
because the union of new/old options will now contained an unknown keyword.
Change alter ks options processing to simply remove any dc with rf=0 on
alter, and treat this as an implicit dc=0 in nw-topo strategy.
This means we change the reallocate_tablets routine to not rely on
the strategy objects dc mapping, but the full replica topology info
for dc:s to consider for reallocation. Since we verify the input
on attribute processing, the amount of rf/tablets moved should still
be legal.
v2:
* Update docs as well.
v3:
* Simplify dc processing
* Reintroduce options empty check, but do early in ks_prop_defs
* Clean up unit test some
Closes scylladb/scylladb#22693
(cherry picked from commit 342df0b1a8 )
(Update: workaround python test objects not having dc info)
Closes scylladb/scylladb#22876
2025-04-18 14:09:52 +03:00
..
2024-07-28 17:29:07 +03:00
2025-04-18 14:09:52 +03:00
2024-06-18 19:54:55 +02:00
2024-03-01 16:25:14 +01:00
2024-06-06 13:26:34 +02:00
2023-08-17 15:52:48 +03:00
2024-09-11 23:21:40 +03:00
2024-04-25 21:27:40 +02:00
2024-06-07 06:44:59 +08:00
2024-06-07 06:44:59 +08:00
2024-04-29 14:05:05 +02:00
2024-04-25 21:27:40 +02:00
2024-06-06 13:26:34 +02:00
2024-03-21 23:14:57 +01:00
2024-03-21 23:14:57 +01:00
2024-03-21 23:14:57 +01:00
2024-03-21 23:14:57 +01:00
2024-03-21 23:14:57 +01:00
2024-09-11 23:21:40 +03:00
2024-06-07 06:44:59 +08:00
2024-08-05 08:23:35 +03:00
2024-05-18 00:23:30 +03:00
2024-04-26 10:48:47 +03:00
2024-08-05 08:23:35 +03:00
2024-09-11 23:21:40 +03:00
2024-04-25 21:27:40 +02:00
2024-06-12 16:54:46 +03:00
2024-04-25 21:27:40 +02:00
2024-09-11 23:21:40 +03:00
2024-04-25 21:27:40 +02:00
2024-07-09 18:01:37 +02:00
2024-06-07 10:07:50 +02:00
2024-06-06 13:26:34 +02:00
2024-08-14 21:25:31 +03:00
2023-08-17 15:52:48 +03:00
2024-09-11 23:21:40 +03:00
2024-06-07 10:07:50 +02:00
2024-06-07 10:36:40 +02:00
2024-06-07 10:07:50 +02:00
2024-09-11 23:21:40 +03:00
2024-06-07 10:07:50 +02:00
2024-08-05 08:23:35 +03:00
2024-07-04 10:24:57 +02:00
2024-01-16 16:43:17 +02:00
2024-06-06 13:26:34 +02:00
2024-03-21 23:14:57 +01:00
2024-06-06 13:26:34 +02:00
2024-06-06 13:26:34 +02:00
2024-07-04 10:24:57 +02:00
2024-06-06 13:26:34 +02:00
2024-06-07 06:44:59 +08:00
2024-04-25 21:27:40 +02:00
2024-06-07 06:44:59 +08:00
2024-06-06 13:26:34 +02:00
2024-03-01 16:25:14 +01:00
2024-06-06 13:26:34 +02:00
2023-08-17 15:52:48 +03:00
2024-06-06 13:26:34 +02:00
2024-06-06 13:26:34 +02:00
2024-07-04 10:24:57 +02:00
2024-04-25 21:27:40 +02:00
2024-04-25 21:27:40 +02:00
2024-04-25 21:27:40 +02:00
2024-09-11 23:21:40 +03:00
2024-03-01 16:25:14 +01:00
2024-06-06 13:26:34 +02:00
2023-08-17 15:52:48 +03:00
2025-04-18 14:09:52 +03:00
2024-10-08 18:06:48 +00:00
2024-08-08 10:42:09 +02:00
2023-11-30 13:07:20 +01:00
2024-03-01 16:25:14 +01:00
2023-08-17 15:52:48 +03:00
2023-08-17 15:52:48 +03:00
2024-01-16 16:43:17 +02:00
2024-01-16 16:43:17 +02:00
2024-12-16 14:15:26 +01:00
2024-01-16 16:43:17 +02:00
2024-03-01 16:25:14 +01:00
2023-08-17 15:52:48 +03:00
2024-09-11 23:21:40 +03:00
2024-06-30 19:35:05 +03:00
2024-01-16 16:43:17 +02:00
2024-03-01 16:25:14 +01:00
2024-05-25 16:41:30 +03:00
2024-10-08 18:06:48 +00:00
2024-04-19 22:56:16 +08:00
2024-07-28 21:54:43 +03:00
2024-03-01 16:25:14 +01:00
2024-06-06 13:26:34 +02:00
2023-08-17 15:52:48 +03:00
2024-06-06 13:26:34 +02:00
2024-06-07 10:26:32 +02:00
2024-06-18 20:26:09 +02:00
2024-09-11 23:21:40 +03:00
2024-08-22 06:24:06 -04:00
2024-03-21 23:14:57 +01:00
2024-03-21 23:14:57 +01:00
2024-01-16 16:43:17 +02:00
2024-01-23 19:36:24 +02:00
2024-01-16 16:43:17 +02:00
2024-01-16 16:43:17 +02:00
2023-08-17 15:52:48 +03:00
2024-01-16 16:43:17 +02:00
2024-08-05 08:23:35 +03:00
2023-08-17 15:52:48 +03:00
2024-08-05 08:23:35 +03:00
2023-11-09 10:43:11 +01:00
2023-08-17 15:52:48 +03:00