mirror of
https://github.com/scylladb/scylladb.git
synced 2026-05-12 19:02:12 +00:00
This PR consists of three parts: * Small refactoring of the fencing APIs in storage_proxy (renames + comments + some functions were extracted) * Implement the fencing for LWT verbs itself. This includes checking the fencing token before and after local replica data accesses. * Two new `test.py` tests in `test_fencing.py`, which check the fencing in some real-world scenarios. Backport: no need -- fencing for LWT requests is needed primarily for LWT over tablets, which is not released yet. Fixes scylladb/scylladb#22332 Closes scylladb/scylladb#25550 * https://github.com/scylladb/scylladb: test_tablets_lwt: eliminate redundant disable_tablet_balancing test_fencing: add test_lwt_fencing_upgrade pylib: extract upgrade helpers from test_sstable_compression_dictionaries_upgrade.py test_fencing: add test_fenced_out_on_tablet_migration_while_handling_paxos_verb test_fencing: test_fence_lwt_during_bootstap pylib/rest_client.py: encode injection name storage_proxy_stats: add fenced_out_requests metric storage_proxy: add fencing to Paxos verbs storage_proxy::apply_fence: add overload that throws on failure storage_proxy: extract apply_fence_result sp::apply_fence: rename to apply_fence_on_ready sp::apply_fence: rename to check_fence sp::apply_fence: make non-generic