Patryk Jędrzejczak
a2c23793ab
raft_group0: join_group0: fix join hang when node joins group 0 before post_server_start
...
A joining node hung forever if the topology coordinator added it to the
group 0 configuration before the node reached `post_server_start`. In
that case, `server->get_configuration().contains(my_id)` returned true
and the node broke out of the join loop early, skipping
`post_server_start`. `_join_node_group0_started` was therefore never set,
so the node's `join_node_response` RPC handler blocked indefinitely.
Meanwhile the topology coordinator's `respond_to_joining_node` call
(which has no timeout) hung forever waiting for the reply that never came.
Fix by only taking the early-break path when not starting as a follower
(i.e. when the node is the discovery leader or is restarting). A joining
node must always reach `post_server_start`.
We also provide a regression test. It takes 6s in dev mode.
Fixes SCYLLADB-959
Closes scylladb/scylladb#29266
(cherry picked from commit b9f82f6f23 )
Closes scylladb/scylladb#29291
Closes scylladb/scylladb#29308
2026-04-09 15:53:43 +02:00
..
2026-04-06 17:51:34 +03:00
2026-01-19 06:39:29 +02:00
2025-11-04 12:47:24 +01:00
2026-01-12 10:33:11 +01:00
2025-11-25 11:42:34 +02:00
2025-10-06 13:19:54 +00:00
2025-08-11 10:10:07 +08:00
2025-09-15 12:34:45 +02:00
2025-10-01 22:40:29 +02:00
2026-01-08 16:40:20 +02:00
2025-04-25 12:25:15 +02:00
2025-12-22 14:45:08 +01:00
2025-07-10 10:56:53 +08:00
2026-04-09 15:53:43 +02:00
2025-10-20 10:32:58 +03:00
2025-06-09 12:59:04 +02:00
2025-07-25 17:16:14 +02:00
2025-05-30 08:35:56 +02:00
2025-11-16 09:29:27 +01:00
2025-10-30 02:44:47 +00:00
2025-05-10 16:30:18 +02:00
2025-09-09 19:01:12 +02:00
2025-05-10 16:30:18 +02:00
2026-02-27 01:39:05 +02:00
2025-06-23 17:56:26 +02:00
2025-05-10 16:30:18 +02:00
2025-05-19 11:50:55 +00:00
2026-02-18 12:47:30 +02:00
2025-09-09 19:01:12 +02:00
2025-05-10 16:30:18 +02:00
2026-01-19 09:42:20 +02:00
2025-09-09 19:01:12 +02:00
2025-07-01 12:58:02 +02:00
2025-10-22 18:12:52 +02:00
2025-09-15 12:34:45 +02:00
2025-05-10 16:30:18 +02:00
2025-09-08 11:38:31 +02:00
2026-01-29 11:27:37 +01:00
2025-09-08 11:38:30 +02:00
2026-01-19 16:35:49 +01:00
2026-04-07 14:22:48 +03:00
2026-01-19 09:39:49 +02:00
2025-08-22 09:51:24 +03:00
2026-03-10 16:48:05 +01:00
2025-08-28 01:42:34 +02:00
2025-12-30 11:17:41 +01:00
2025-09-08 17:14:37 +02:00
2025-10-22 18:12:52 +02:00
2026-02-03 11:33:53 +01:00
2025-10-21 00:59:33 +00:00
2025-08-22 09:51:24 +03:00
2025-08-22 11:33:32 +02:00
2025-11-26 08:36:52 +01:00
2025-04-17 16:22:58 +02:00
2025-08-22 09:51:24 +03:00
2025-08-04 15:38:16 +03:00
2025-08-10 10:16:00 +02:00
2026-01-09 19:10:11 +01:00
2026-03-18 10:15:34 +01:00
2026-01-22 18:19:36 +01:00
2025-10-17 10:27:33 +00:00
2025-11-20 10:36:54 +02:00
2025-09-22 17:21:06 +02:00
2025-08-22 09:51:24 +03:00
2025-06-27 16:23:08 +03:00
2025-05-29 16:12:09 +03:00
2025-05-10 16:30:18 +02:00
2026-01-08 16:39:10 +02:00
2025-05-19 11:50:55 +00:00
2025-05-10 16:30:18 +02:00
2025-05-10 16:30:18 +02:00
2025-05-10 16:30:18 +02:00
2025-07-10 10:46:55 +02:00
2026-04-07 14:22:27 +03:00
2026-01-28 12:42:10 +02:00
2026-02-26 09:55:57 +02:00
2025-11-04 15:40:46 +02:00
2025-09-15 12:34:45 +02:00
2025-04-29 15:47:33 -03:00
2026-01-15 17:01:30 +02:00
2025-09-19 12:50:20 +03:00
2025-04-23 14:29:28 +02:00
2026-01-19 09:39:13 +02:00
2025-07-31 14:31:55 +03:00
2026-02-02 16:35:08 +01:00
2025-12-19 17:32:12 +01:00
2025-05-10 16:30:18 +02:00
2026-01-23 19:24:06 +00:00
2025-09-29 15:30:13 +03:00
2026-02-18 12:43:31 +02:00
2025-05-10 16:30:49 +02:00
2026-02-02 21:26:18 +01:00
2025-05-10 16:30:18 +02:00
2025-10-22 17:13:34 +00:00
2025-09-09 19:01:12 +02:00
2025-09-09 19:01:12 +02:00
2025-09-01 14:16:29 +02:00
2025-08-22 09:51:24 +03:00
2025-09-17 15:23:32 +05:30
2026-03-24 16:09:02 +01:00
2025-05-10 16:30:18 +02:00
2025-10-22 18:12:52 +02:00
2025-08-05 13:54:14 +02:00
2025-09-03 07:25:34 +03:00
2025-06-11 11:29:33 +03:00
2025-07-22 15:03:30 +02:00
2025-12-05 20:13:02 +01:00
2025-08-27 10:23:04 +02:00
2026-01-08 16:42:08 +02:00
2025-07-28 10:08:06 +02:00
2026-01-22 18:22:05 +01:00
2025-08-22 09:51:24 +03:00
2025-05-10 16:30:34 +02:00
2025-09-22 09:32:46 +03:00