Asias He
4e7202ee32
repair: Fix deadlock when topology coordinator steps down in the middle
...
Consider this:
1) n1 is the topology coordinator
2) n1 schedules and executes a tablet repair with session id s1 for a
tablet on n3 an n4.
3) n3 and n4 take and store the in _rs._repair_compaction_locks[s1]
4) n1 steps down before it executes
locator::tablet_transition_stage::end_repair
5) n2 becomes the new topology coordinator
6) n2 runs locator::tablet_transition_stage::repair again
7) n3 and n4 try to take the lock again and hangs since the lock is
already taken.
To avoid the deadlock, we can throw in step 7 so that n2 will
proceed to end_repair stage and release the lock. After that, the
scheduler could schedule the tablet repair request again.
Fixes #26346
Closes scylladb/scylladb#27163
(cherry picked from commit da5cc13e97 )
Closes scylladb/scylladb#27337
2025-12-01 13:06:02 +01:00
..
2025-10-30 20:10:47 +01:00
2025-10-01 22:40:34 +02:00
2025-11-04 12:47:24 +01:00
2025-11-26 20:42:07 +02:00
2025-11-25 11:42:34 +02:00
2025-10-06 13:19:54 +00:00
2025-08-11 10:10:07 +08:00
2025-09-15 12:34:45 +02:00
2025-10-01 22:40:29 +02:00
2025-03-30 19:23:40 +03:00
2025-11-26 20:42:09 +02:00
2025-03-30 19:23:40 +03:00
2025-04-25 12:25:15 +02:00
2025-09-23 07:48:59 +02:00
2025-03-24 14:54:45 +02:00
2025-07-10 10:56:53 +08:00
2025-10-20 10:32:58 +03:00
2025-06-09 12:59:04 +02:00
2025-07-25 17:16:14 +02:00
2025-05-30 08:35:56 +02:00
2025-11-16 09:29:27 +01:00
2025-10-30 02:44:47 +00:00
2025-05-10 16:30:18 +02:00
2025-09-09 19:01:12 +02:00
2025-05-10 16:30:18 +02:00
2025-03-30 19:23:40 +03:00
2025-03-30 19:23:40 +03:00
2025-06-23 17:56:26 +02:00
2025-05-10 16:30:18 +02:00
2025-05-19 11:50:55 +00:00
2025-09-09 19:01:12 +02:00
2025-05-10 16:30:18 +02:00
2025-09-09 19:01:12 +02:00
2025-07-01 12:58:02 +02:00
2025-10-22 18:12:52 +02:00
2025-03-24 14:54:45 +02:00
2025-09-15 12:34:45 +02:00
2025-05-10 16:30:18 +02:00
2025-03-24 14:54:45 +02:00
2025-09-08 11:38:31 +02:00
2025-04-06 18:39:24 +03:00
2025-09-08 11:38:30 +02:00
2025-03-30 19:23:40 +03:00
2025-03-24 14:54:45 +02:00
2025-10-22 18:12:52 +02:00
2025-12-01 13:06:02 +01:00
2025-08-22 09:51:24 +03:00
2025-08-28 01:42:34 +02:00
2025-09-08 17:14:37 +02:00
2025-10-22 18:12:52 +02:00
2025-11-15 22:11:06 +00:00
2025-10-21 00:59:33 +00:00
2025-08-22 09:51:24 +03:00
2025-08-22 11:33:32 +02:00
2025-03-30 19:23:40 +03:00
2025-11-26 08:36:52 +01:00
2025-04-17 16:22:58 +02:00
2025-08-22 09:51:24 +03:00
2025-08-04 15:38:16 +03:00
2025-08-10 10:16:00 +02:00
2025-09-23 00:30:37 +02:00
2025-03-30 19:23:40 +03:00
2025-03-24 14:54:45 +02:00
2025-10-12 21:02:02 +03:00
2025-03-24 14:54:45 +02:00
2025-09-22 17:21:06 +02:00
2025-10-17 10:27:33 +00:00
2025-03-24 14:54:45 +02:00
2025-11-20 10:36:54 +02:00
2025-09-22 17:21:06 +02:00
2025-08-22 09:51:24 +03:00
2025-03-30 19:23:40 +03:00
2025-06-27 16:23:08 +03:00
2025-05-29 16:12:09 +03:00
2025-05-10 16:30:18 +02:00
2025-08-21 11:48:17 +03:00
2025-03-30 19:23:40 +03:00
2025-03-24 14:54:45 +02:00
2025-05-19 11:50:55 +00:00
2025-03-30 13:39:40 +03:00
2025-05-10 16:30:18 +02:00
2025-05-10 16:30:18 +02:00
2025-05-10 16:30:18 +02:00
2025-07-10 10:46:55 +02:00
2025-09-11 08:55:10 +03:00
2025-11-04 15:41:40 +02:00
2025-05-10 16:30:18 +02:00
2025-11-04 15:40:46 +02:00
2025-09-15 12:34:45 +02:00
2025-04-29 15:47:33 -03:00
2025-09-19 12:50:20 +03:00
2025-04-23 14:29:28 +02:00
2025-07-29 13:43:53 +08:00
2025-07-31 14:31:55 +03:00
2025-11-21 17:50:21 +03:00
2025-11-26 08:36:52 +01:00
2025-05-10 16:30:18 +02:00
2025-10-24 12:22:20 +02:00
2025-09-29 15:30:13 +03:00
2025-09-11 13:19:56 +02:00
2025-05-10 16:30:49 +02:00
2025-10-24 12:21:21 +02:00
2025-05-10 16:30:18 +02:00
2025-10-22 17:13:34 +00:00
2025-03-24 14:54:45 +02:00
2025-09-09 19:01:12 +02:00
2025-09-09 19:01:12 +02:00
2025-09-01 14:16:29 +02:00
2025-08-22 09:51:24 +03:00
2025-03-30 19:23:40 +03:00
2025-09-17 15:23:32 +05:30
2025-03-24 14:54:45 +02:00
2025-03-30 19:23:40 +03:00
2025-05-10 16:30:18 +02:00
2025-03-24 14:54:45 +02:00
2025-10-22 18:12:52 +02:00
2025-03-24 14:54:45 +02:00
2025-08-05 13:54:14 +02:00
2025-09-03 07:25:34 +03:00
2025-06-11 11:29:33 +03:00
2025-07-22 15:03:30 +02:00
2025-08-27 10:23:04 +02:00
2025-11-17 10:28:35 +00:00
2025-07-28 10:08:06 +02:00
2025-08-22 09:51:24 +03:00
2025-08-22 09:51:24 +03:00
2025-05-10 16:30:34 +02:00
2025-09-22 09:32:46 +03:00