Sergey Zolotukhin
ec85ebf419
gossiper: check for a race condition in do_apply_state_locally
...
In do_apply_state_locally, a race condition can occur if a task is
suspended at a preemption point while the node entry is not locked.
During this time, the host may be removed from _endpoint_state_map.
When the task resumes, this can lead to inserting an entry with an
empty host ID into the map, causing various errors, including a node
crash.
This change
1. adds a check after locking the map entry: if a gossip ACK update
does not contain a host ID, we verify that an entry with that host ID
still exists in the gossiper’s _endpoint_state_map.
2. Removes xfail from the test_gossiper_race test since the issue is now
fixed.
3. Adds exception handling in `do_shadow_round` to skip responses from
nodes that sent an empty host ID.
This re-applies the commit 13392a40d4 that
was reverted in 46aa59fe49 , after fixing
the issues that caused the CI to fail.
Fixes : scylladb/scylladb#25702
Fixes : scylladb/scylladb#25621
Ref: scylladb/scylla-enterprise#5613
(cherry picked from commit f08df7c9d7 )
2025-09-08 21:55:16 +00:00
..
2025-09-04 11:38:17 +03:00
2025-08-15 13:29:56 +03:00
2025-08-19 09:48:01 +02:00
2025-07-16 12:45:58 +00:00
2025-05-19 11:50:55 +00:00
2025-04-30 07:04:57 +03:00
2025-06-02 15:49:29 +02:00
2025-06-11 09:43:44 +02:00
2025-03-30 19:23:40 +03:00
2025-06-25 11:13:15 +03:00
2025-03-30 19:23:40 +03:00
2025-04-25 12:25:15 +02:00
2025-07-08 06:25:36 +00:00
2025-03-24 14:54:45 +02:00
2025-06-09 12:59:04 +02:00
2025-07-28 17:49:03 +02:00
2025-05-30 08:35:56 +02:00
2025-07-20 09:04:00 +02:00
2025-05-10 16:30:18 +02:00
2025-03-24 14:54:45 +02:00
2025-05-10 16:30:18 +02:00
2025-03-30 19:23:40 +03:00
2025-03-30 19:23:40 +03: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
2025-05-10 16:30:18 +02:00
2025-03-24 14:54:45 +02:00
2025-03-24 14:54:45 +02:00
2025-05-10 16:30:18 +02:00
2025-05-10 16:30:18 +02:00
2025-03-24 14:54:45 +02:00
2025-04-06 18:39:24 +03:00
2025-09-08 21:55:16 +00:00
2025-03-30 19:23:40 +03:00
2025-03-24 14:54:45 +02:00
2025-05-19 11:50:55 +00:00
2025-08-18 15:47:08 +02:00
2025-05-19 11:50:55 +00:00
2025-05-14 09:59:19 +02:00
2025-08-22 14:31:49 +00:00
2025-03-30 19:23:40 +03:00
2025-03-30 19:23:40 +03:00
2025-04-17 16:22:58 +02:00
2025-08-12 14:51:09 +00:00
2025-05-10 16:30:26 +02:00
2025-03-30 19:23:40 +03:00
2025-03-24 14:54:45 +02:00
2025-04-15 10:57:39 +03:00
2025-03-24 14:54:45 +02:00
2025-08-05 10:59:39 +00:00
2025-08-05 10:59:39 +00:00
2025-03-24 14:54:45 +02:00
2025-03-24 14:54:45 +02:00
2025-08-05 10:59:39 +00:00
2025-05-19 11:50:55 +00:00
2025-03-30 19:23:40 +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
2025-05-10 16:30:18 +02:00
2025-03-30 19:23:40 +03:00
2025-03-24 14:54:45 +02:00
2025-05-19 11:50:55 +00:00
2025-03-30 13:39:40 +03: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-05-10 16:30:18 +02:00
2025-05-10 16:30:18 +02:00
2025-06-25 11:30:28 +03:00
2025-06-02 15:49:29 +02:00
2025-04-29 15:47:33 -03:00
2025-07-17 17:25:44 +00:00
2025-04-23 14:29:28 +02:00
2025-05-10 16:30:40 +02:00
2025-04-09 20:21:51 +02:00
2025-08-19 16:01:22 +03:00
2025-05-10 16:30:18 +02:00
2025-07-07 09:42:26 +03:00
2025-07-15 13:14:35 +03:00
2025-05-10 16:30:49 +02:00
2025-09-02 02:18:56 +00:00
2025-05-10 16:30:18 +02:00
2025-05-10 16:30:18 +02:00
2025-03-24 14:54:45 +02:00
2025-05-10 16:30:49 +02:00
2025-05-10 16:30:49 +02:00
2025-03-14 13:53:05 +01:00
2025-03-30 19:23:40 +03:00
2025-05-10 16:30:18 +02:00
2025-03-24 14:54:45 +02:00
2025-03-30 19:23:40 +03:00
2025-05-10 16:30:18 +02:00
2025-03-24 14:54:45 +02:00
2025-03-24 14:54:45 +02:00
2025-03-24 14:54:45 +02:00
2025-08-06 00:52:15 +00:00
2025-09-05 19:02:39 +03:00
2025-06-11 11:29:33 +03:00
2025-07-24 13:03:32 +00:00
2025-06-24 10:04:39 +02:00
2025-08-18 15:46:46 +02:00
2025-07-15 15:47:43 +02:00
2025-05-10 16:30:31 +02:00
2025-05-10 16:30:34 +02:00
2025-06-25 12:00:16 +03:00