Files
scylladb/utils
Kamil Braun 9979adb670 Merge 'topology_coordinator: do not clear unpublished CDC generation's data' from Patryk Jędrzejczak
In this PR, we ensure unpublished CDC generation's data is
never removed, which was theoretically possible. If it happened,
it could cause problems. CDC generation publisher would then try
to publish the generation with its data removed. In particular, the
precondition of calling `_sys_ks.read_cdc_generation` wouldn't be
satisfied.

We also add a test that passes only after the fix. However, this test
needs to block execution of the CDC generation publisher's loop
twice. Currently, error injections with handlers do not allow it
because handlers always share received messages. Apart from the
first created handler, all handlers would be instantly unblocked by
a message from the past that has already unblocked the first
handler. This seems like a general limitation that could cause
problems in the future, so in this PR, we extend injections with
handlers to solve it once and for all. We add the `share_messages`
parameter to the `inject` (with handler) function. Depending on its
value, handlers will share messages (as before) or not.

Fixes scylladb/scylladb#17497

Closes scylladb/scylladb#17934

* github.com:scylladb/scylladb:
  topology_coordinator: clean_obsolete_cdc_generations: fix log
  topology_coordinator: do not clear unpublished CDC generation's data
  topology_coordinator: cdc_generation_publisher_fiber injection: make handlers share messages
  error_injection: allow injection handlers to not share messages
2024-03-22 11:20:26 +01:00
..
2023-09-11 14:38:46 +03:00
2024-01-18 12:50:06 +02:00
2023-12-02 22:37:22 +02:00
2023-12-02 22:37:22 +02:00
2024-01-18 12:50:06 +02:00
2024-01-18 12:50:06 +02:00
2023-12-05 15:18:11 +02:00
2024-01-18 12:50:06 +02:00
2024-02-01 14:50:17 +02:00
2023-12-02 22:37:22 +02:00
2023-12-05 15:18:11 +02:00
2023-12-05 15:18:11 +02:00
2024-01-18 12:50:06 +02:00
2023-09-01 22:34:23 +02:00
2023-12-02 22:37:22 +02:00
2024-01-18 12:50:06 +02:00
2023-01-27 19:15:39 +01:00
2023-12-02 22:37:22 +02:00
2024-02-01 10:27:55 +02:00
2024-02-01 10:27:55 +02:00