Petr Gusev
d922c43358
strong consistency: abort raft server before gate close when dropping a table
...
When a strongly consistent table is dropped, schedule_raft_group_deletion()
used to call g->close() first, which waits for all in-flight operations to
release their gate holders. But other nodes may have already destroyed their
raft servers for this group, so an in-flight write on the leader cannot
reach quorum and hangs until the client timeout expires, unnecessarily
delaying group deletion.
Fix: initiate gate close (prevents new operations from entering), then
abort the raft server (causes in-flight add_entry/read_barrier to throw
raft::stopped_error, releasing their gate holders), then await the gate
future (resolves immediately since holders are now released).
Handle raft::stopped_error in the coordinator's top-level catch blocks
(both write and read paths): if the table no longer exists, return
no_such_column_family (which the CQL layer converts to InvalidRequest
'unconfigured table'). Otherwise fall through to the default timeout
handling.
Also replace gate->hold() with try_hold() + on_internal_error in
acquire_server, and handle the timeout exception in the wait-for-leader
loop in update() gracefully (log + break instead of propagating).
Fixes: SCYLLADB-2080
2026-05-27 12:06:46 +02:00
..
2026-05-21 10:36:47 +03:00
2026-05-21 21:13:55 +02:00
2026-05-21 10:36:47 +03:00
2026-05-21 21:33:19 +02:00
2026-05-21 21:31:22 +02:00
2026-05-21 21:31:22 +02:00
2026-05-21 21:13:55 +02:00
2026-05-22 16:47:48 +03:00
2026-05-18 12:23:40 +02:00
2026-05-21 10:36:47 +03:00
2026-05-21 10:36:47 +03:00
2026-05-21 21:31:22 +02:00
2026-05-22 09:42:34 +02:00
2026-05-21 10:36:47 +03:00
2026-05-21 10:36:47 +03:00
2026-05-21 21:31:22 +02:00
2026-05-21 10:36:47 +03:00
2026-05-21 10:36:47 +03:00
2026-05-21 10:36:47 +03:00
2026-05-21 10:36:47 +03:00
2026-05-21 10:36:47 +03:00
2026-05-21 10:36:47 +03:00
2026-05-21 10:36:47 +03:00
2026-05-21 10:36:47 +03:00
2026-05-21 21:31:22 +02:00
2026-05-21 21:13:55 +02:00
2026-05-21 10:36:47 +03:00
2026-05-21 10:36:47 +03:00
2026-05-21 21:31:22 +02:00
2026-05-21 21:31:22 +02:00
2026-05-21 21:13:55 +02:00
2026-05-21 21:13:55 +02:00
2026-05-21 10:36:47 +03:00
2026-05-21 10:36:47 +03:00
2026-05-21 10:36:47 +03:00
2026-05-21 10:36:47 +03:00
2026-05-17 22:16:31 +03:00
2026-05-21 10:36:47 +03:00
2026-05-21 10:36:47 +03:00
2026-04-12 19:46:33 +03:00
2026-05-21 10:36:47 +03:00
2026-05-21 10:36:47 +03:00
2026-05-21 10:36:47 +03:00
2026-05-21 10:36:47 +03:00
2026-05-21 10:36:47 +03:00
2026-05-21 10:36:47 +03:00
2026-05-21 10:36:47 +03:00
2026-05-21 10:36:47 +03:00
2026-05-21 10:36:47 +03:00
2026-05-21 21:13:55 +02:00
2026-05-21 21:13:55 +02:00
2026-05-21 10:22:07 +02:00
2026-05-21 10:36:47 +03:00
2026-05-21 10:36:47 +03:00
2026-05-21 10:36:47 +03:00
2026-05-21 10:36:47 +03:00
2026-05-21 10:36:47 +03:00
2026-05-21 10:36:47 +03:00
2026-05-21 10:36:47 +03:00
2026-05-21 21:33:24 +02:00
2026-05-21 21:13:55 +02:00
2026-05-21 10:36:47 +03:00
2026-05-21 10:36:47 +03:00
2026-05-21 21:13:55 +02:00
2026-05-21 10:36:47 +03:00
2026-05-21 21:13:55 +02:00
2026-05-21 21:13:55 +02:00
2026-05-25 14:22:04 +03:00
2026-05-21 10:36:47 +03:00
2026-05-24 10:25:08 +02:00
2026-05-21 10:36:47 +03:00
2026-05-21 21:31:22 +02:00
2026-05-21 10:36:47 +03:00
2026-05-21 10:36:47 +03:00
2026-05-21 10:36:47 +03:00
2026-05-21 10:36:47 +03:00
2026-05-21 10:36:47 +03:00
2026-05-21 10:36:47 +03:00
2026-05-21 10:36:47 +03:00
2026-05-21 10:36:47 +03:00
2026-05-21 10:36:47 +03:00
2026-05-21 10:36:47 +03:00
2026-05-21 10:36:47 +03:00
2026-05-21 10:36:47 +03:00
2026-05-21 10:36:47 +03:00
2026-05-21 10:36:47 +03:00
2026-05-21 10:36:47 +03:00
2026-05-21 10:36:47 +03:00
2026-05-21 10:36:47 +03:00
2026-05-21 21:13:55 +02:00
2026-05-21 21:31:22 +02:00
2026-05-21 21:13:55 +02:00
2026-05-21 21:13:55 +02:00
2026-05-21 21:33:19 +02:00
2026-05-21 21:13:55 +02:00
2026-05-21 10:36:47 +03:00
2026-05-21 10:50:00 +03:00
2026-05-21 21:33:19 +02:00
2026-05-21 10:36:47 +03:00
2026-05-21 10:36:47 +03:00
2026-05-21 10:36:47 +03:00
2026-05-21 10:36:47 +03:00
2026-05-21 10:36:47 +03:00
2026-05-21 10:36:47 +03:00
2026-05-21 10:36:47 +03:00
2026-05-21 10:36:47 +03:00
2026-05-21 10:36:47 +03:00
2026-05-21 21:31:22 +02:00
2026-04-12 19:46:33 +03:00
2026-05-21 10:36:47 +03:00
2026-05-21 10:36:47 +03:00
2026-05-21 10:36:47 +03:00
2026-05-21 10:36:47 +03:00
2026-05-21 10:36:47 +03:00
2026-05-21 10:36:47 +03:00
2026-05-21 21:31:22 +02:00
2026-05-21 10:36:47 +03:00
2026-05-21 10:36:47 +03:00
2026-05-21 10:36:47 +03:00
2026-05-21 10:36:47 +03:00
2026-05-21 10:36:47 +03:00
2026-04-12 19:46:33 +03:00
2026-04-12 19:46:33 +03:00
2026-05-12 23:20:55 +02:00
2026-05-21 10:36:47 +03:00
2026-05-21 10:36:47 +03:00
2026-05-22 11:58:37 +02:00
2026-05-21 10:36:47 +03:00
2026-05-27 12:06:46 +02:00
2026-05-21 10:36:47 +03:00
2026-05-21 10:36:47 +03:00
2026-05-21 10:36:47 +03:00
2026-05-21 10:36:47 +03:00
2026-05-22 15:03:47 +03:00
2026-05-21 21:13:55 +02:00
2026-05-21 10:36:47 +03:00
2026-05-21 21:13:55 +02:00
2026-05-21 21:31:22 +02:00
2026-05-21 21:13:55 +02:00
2026-05-21 21:31:22 +02:00
2026-05-21 21:31:22 +02:00
2026-05-21 21:31:22 +02:00
2026-05-21 21:31:22 +02:00
2026-05-21 10:36:47 +03:00
2026-05-21 21:31:22 +02:00
2026-05-05 18:56:37 +03:00
2026-05-21 10:36:47 +03:00
2026-05-21 10:36:47 +03:00
2026-05-21 10:36:47 +03:00
2026-05-21 10:36:47 +03:00
2026-05-21 21:31:22 +02:00
2026-05-21 10:36:47 +03:00
2026-05-21 21:31:22 +02:00
2026-05-21 10:36:47 +03:00
2026-05-21 10:36:47 +03:00
2026-05-21 21:13:55 +02:00
2026-05-21 21:13:55 +02:00
2026-05-12 12:38:25 +03:00
2026-05-21 15:43:36 +02:00
2026-05-21 10:36:47 +03:00
2026-05-21 10:36:47 +03:00
2026-05-21 10:36:47 +03:00
2026-05-21 15:11:58 +02:00
2026-05-21 10:36:47 +03:00
2026-05-21 10:36:47 +03:00
2026-05-21 10:36:47 +03:00
2026-05-21 10:36:47 +03:00
2026-05-21 10:36:47 +03:00
2026-05-21 10:36:47 +03:00
2026-04-30 21:27:56 +03:00