Files
scylladb/service
Botond Dénes 9c8812a154 Merge '[Backport 2025.4] LWT: use shards_ready_for_reads for replica locks' from Scylladb[bot]
When a tablet is migrated between shards on the same node, during the write_both_read_new state we begin switching reads to the new shard. Until the corresponding global barrier completes, some requests may still use write_both_read_old erm, while others already use the write_both_read_new erm. To ensure mutual exclusion between these two types of requests, we must acquire locks on both the old and new shards. Once the global barrier completes, no requests remain on the old shard, so we can safely switch to acquiring locks only on the new shard.

The idea came from the similar locking problem in the [counters for tablets PR](https://github.com/scylladb/scylladb/pull/26636#discussion_r2463932395).

Fixes scylladb/scylladb#26727

backport: need to backport to 2025.4

- (cherry picked from commit 5ab2db9613)

- (cherry picked from commit 478f7f545a)

Parent PR: #26719

Closes scylladb/scylladb#26748

* github.com:scylladb/scylladb:
  paxos_state: use shards_ready_for_reads
  paxos_state: inline shards_for_writes into get_replica_lock
2025-10-29 11:26:29 +02:00
..
2025-04-12 11:28:49 +03:00