Avi Kivity
85db7b1caf
Merge 'address_map: Use more efficient and reliable replication method' from Tomasz Grabiec
...
Primary issue with the old method is that each update is a separate
cross-shard call, and all later updates queue behind it. If one of the
shards has high latency for such calls, the queue may accumulate and
system will appear unresponsive for mapping changes on non-zero shards.
This happened in the field when one of the shards was overloaded with
sstables and compaction work, which caused frequent stalls which
delayed polling for ~100ms. A queue of 3k address updates
accumulated, because we update mapping on each change of gossip
states. This made bootstrap impossible because nodes couldn't
learn about the IP mapping for the bootstrapping node and streaming
failed.
To protect against that, use a more efficient method of replication
which requires a single cross-shard call to replicate all prior
updates.
It is also more reliable, if replication fails transiently for some
reason, we don't give up and fail all later updates.
Fixes #26865
Closes scylladb/scylladb#26941
* github.com:scylladb/scylladb:
address_map: Use barrier() to wait for replication
address_map: Use more efficient and reliable replication method
utils: Introduce helper for replicated data structures
2025-11-23 19:15:12 +02:00
..
2024-12-18 17:45:13 +02:00
2025-10-06 16:25:35 +03:00
2025-11-21 09:36:13 +02:00
2025-08-31 11:37:39 +03:00
2025-04-28 12:30:13 +02:00
2025-10-13 08:53:25 +00:00
2025-10-23 15:58:11 +03:00
2025-07-15 23:29:21 +02:00
2025-07-15 23:29:21 +02:00
2025-05-29 13:05:08 +02:00
2024-12-18 17:45:13 +02:00
2024-12-18 17:45:13 +02:00
2024-12-18 17:45:13 +02:00
2024-12-18 17:45:13 +02:00
2024-12-18 17:45:13 +02:00
2025-01-14 07:56:39 -05:00
2024-12-18 17:45:13 +02:00
2025-01-14 07:56:39 -05:00
2025-01-14 07:56:39 -05:00
2025-01-14 07:56:39 -05:00
2025-09-01 08:57:50 +03:00
2025-07-16 17:14:08 +03:00
2025-06-26 15:29:28 +03:00
2025-01-14 07:56:39 -05:00
2025-09-07 00:30:15 +02:00
2024-12-18 17:45:13 +02:00
2024-12-18 17:45:13 +02:00
2025-09-29 13:01:21 +02:00
2025-09-29 13:01:21 +02:00
2024-12-18 17:45:13 +02:00
2025-02-26 23:17:27 +02:00
2024-12-18 17:45:13 +02:00
2024-12-18 17:45:13 +02:00
2024-12-18 17:45:13 +02:00
2024-08-05 08:23:35 +03:00
2024-12-18 17:45:13 +02:00
2025-09-17 12:22:40 +02:00
2025-03-06 10:22:05 +02:00
2025-07-29 13:43:17 +08:00
2025-01-14 07:56:39 -05:00
2024-12-18 17:45:13 +02:00
2025-11-21 12:27:41 +02:00
2024-12-18 17:45:13 +02:00
2025-01-14 07:56:39 -05:00
2024-12-18 17:45:13 +02:00
2025-09-01 14:58:32 +03:00
2025-02-25 10:32:32 +03:00
2025-02-25 10:32:32 +03:00
2025-10-06 15:33:11 +03:00
2025-01-14 07:56:39 -05:00
2025-01-14 07:56:39 -05:00
2025-07-08 10:38:23 +03:00
2024-12-18 17:45:13 +02:00
2025-01-14 07:56:39 -05:00
2024-10-21 11:21:52 +03:00
2024-12-18 17:45:13 +02:00
2025-01-14 07:56:39 -05:00
2025-10-13 20:41:25 +03:00
2025-01-14 07:56:39 -05:00
2025-08-28 18:06:37 +02:00
2025-08-28 18:06:37 +02:00
2024-12-18 17:45:13 +02:00
2025-01-14 07:56:39 -05:00
2024-12-18 17:45:13 +02:00
2025-02-26 23:17:27 +02:00
2025-01-07 13:22:00 +02:00
2025-01-14 07:56:39 -05:00
2024-12-18 17:45:13 +02:00
2024-12-18 17:45:13 +02:00
2024-12-18 17:45:13 +02:00
2025-10-27 16:39:22 +01:00
2024-12-18 17:45:13 +02:00
2025-01-14 07:56:39 -05:00
2025-06-26 12:25:38 +02:00
2025-03-26 11:15:13 +01:00
2025-01-14 07:56:39 -05:00
2024-12-18 17:45:13 +02:00
2024-12-18 17:45:13 +02:00
2025-01-14 07:56:39 -05:00
2025-04-12 11:47:02 +03:00
2025-07-03 13:34:04 +03:00
2025-08-28 23:31:36 +02:00
2025-01-09 11:14:49 +02:00
2024-12-18 17:45:13 +02:00
2025-04-01 00:07:28 +02:00
2025-04-01 00:07:28 +02:00
2024-12-18 17:45:13 +02:00
2024-12-18 17:45:13 +02:00
2024-12-18 17:45:13 +02:00
2025-01-14 07:56:39 -05:00
2025-09-01 18:03:44 +00:00
2025-09-01 18:03:44 +00:00
2024-12-18 17:45:13 +02:00
2024-12-18 17:45:13 +02:00
2024-12-18 17:45:13 +02:00
2025-09-29 13:01:21 +02:00
2025-01-14 07:56:39 -05:00
2024-12-18 17:45:13 +02:00
2024-12-18 17:45:13 +02:00
2025-09-24 13:57:21 +02:00
2024-12-18 17:45:13 +02:00
2025-01-14 07:56:39 -05:00
2025-10-22 01:51:43 +03:00
2025-10-13 08:53:25 +00:00
2025-03-03 16:58:38 +02:00
2025-09-01 14:58:21 +03:00
2024-12-18 17:45:13 +02:00
2025-01-14 07:56:39 -05:00
2024-12-18 17:45:13 +02:00
2024-12-18 17:45:13 +02:00
2024-12-18 17:45:13 +02:00
2025-01-14 07:56:39 -05:00
2024-12-18 17:45:13 +02:00
2024-12-18 17:45:13 +02:00
2024-12-18 17:45:13 +02:00
2025-11-20 07:29:47 +03:00
2025-10-28 15:20:20 +02:00
2025-04-30 16:43:22 +03:00
2025-01-14 07:56:39 -05:00
2024-12-18 17:45:13 +02:00
2024-12-18 17:45:13 +02:00
2025-05-29 22:11:41 +03:00
2025-05-29 22:11:41 +03:00
2025-09-28 04:27:33 +02:00
2024-12-18 17:45:13 +02:00
2024-12-18 17:45:13 +02:00
2025-07-29 23:51:43 +03:00
2024-12-18 17:45:13 +02:00
2025-06-30 19:12:08 +02:00
2025-04-28 12:30:13 +02:00
2025-07-21 11:56:40 +03:00
2024-12-18 17:45:13 +02:00
2025-10-17 10:26:50 +03:00
2024-12-18 17:45:13 +02:00
2024-12-18 17:45:13 +02:00
2025-01-14 07:56:39 -05:00
2024-12-18 17:45:13 +02:00
2025-01-14 07:56:39 -05:00
2025-09-29 04:10:40 +02:00
2024-12-18 17:45:13 +02:00
2024-12-18 17:45:13 +02:00
2025-08-01 02:15:04 +03:00
2025-08-01 02:15:04 +03:00
2025-03-06 12:17:32 +01:00
2024-12-18 17:45:13 +02:00
2025-04-12 11:47:00 +03:00
2025-04-12 11:47:00 +03:00
2024-12-18 17:45:13 +02:00
2024-12-18 17:45:13 +02:00
2024-12-18 17:45:13 +02:00
2024-12-18 17:45:13 +02:00
2025-01-14 07:56:39 -05:00
2024-12-18 17:45:13 +02:00
2024-12-23 23:37:02 +01:00
2025-11-19 15:21:02 +01:00
2024-12-23 23:37:02 +01:00
2024-12-18 17:45:13 +02:00
2025-01-14 07:56:39 -05:00
2025-07-03 13:34:04 +03:00
2025-08-28 23:31:04 +02:00
2025-07-17 16:40:02 +02:00
2025-07-14 18:41:34 +03:00
2025-07-14 18:41:34 +03:00
2024-12-18 17:45:13 +02:00
2024-12-18 17:45:13 +02:00
2024-12-18 17:45:13 +02:00
2025-08-01 02:15:04 +03:00
2025-10-13 08:53:24 +00:00
2024-12-18 17:45:13 +02:00
2025-07-08 16:29:55 +02:00
2024-12-18 17:45:13 +02:00
2024-12-18 17:45:13 +02:00
2024-12-18 17:45:13 +02:00
2025-07-03 13:34:04 +03:00
2025-02-26 23:23:53 +02:00
2025-11-20 07:16:16 +03:00
2024-12-18 17:45:13 +02:00
2024-12-18 17:45:13 +02:00
2024-08-05 08:23:35 +03:00
2024-12-18 17:45:13 +02:00
2025-01-14 07:56:39 -05:00
2025-01-14 07:56:39 -05:00
2024-12-18 17:45:13 +02:00
2024-12-18 17:45:13 +02:00
2025-01-21 16:24:45 +08:00
2024-12-18 17:45:13 +02:00
2025-06-23 17:54:01 +02:00
2025-10-13 08:53:25 +00:00
2025-01-14 07:56:39 -05:00
2024-12-18 17:45:13 +02:00
2025-01-14 07:56:39 -05:00
2025-11-21 12:27:41 +02:00
2025-11-20 10:27:29 +02:00
2025-07-23 15:36:45 +02:00
2025-07-23 15:36:45 +02:00
2024-12-18 17:45:13 +02:00
2024-12-18 17:45:13 +02:00
2024-12-18 17:45:13 +02:00
2025-01-14 07:56:39 -05:00