mirror of
https://github.com/scylladb/scylladb.git
synced 2026-05-22 07:42:16 +00:00
After an internal CAS shard bounce, check_locality() was evaluating against this_shard_id() of the post-bounce shard — which is the correct tablet shard — so it returned nullopt, and LWT/SERIAL responses omitted the tablets-routing-v1 custom payload. The client never learned the correct tablet map. Fix by recording the original entry shard in client_state (initialized to this_shard_id() at construction, preserved across shard bounces via client_state_for_another_shard) and passing it to check_locality() so it compares against the client's actual routing decision. No host_id tracking or forwarded_client_state IDL changes are needed because CAS shard bounces are always intra-node. Fixes SCYLLADB-2041
90 KiB
90 KiB