Botond Dénes
61d1262674
Merge '[Backport 6.2] reader_concurrency_semaphore: register_inactive_read(): handle aborted permit' from Scylladb[bot]
...
It is possible that the permit handed in to register_inactive_read() is already aborted (currently only possible if permit timed out). If the permit also happens to have wait for memory, the current code will attempt to call promise<>::set_exception() on the permit's promise to abort its waiters. But if the permit was already aborted via timeout, this promise will already have an exception and this will trigger an assert. Add a separate case for checking if the permit is aborted already. If so, treat it as immediate eviction: close the reader and clean up.
Fixes: scylladb/scylladb#22919
Bug is present in all live versions, backports are required.
- (cherry picked from commit 4d8eb02b8d )
- (cherry picked from commit 7ba29ec46c )
Parent PR: #23044
Closes scylladb/scylladb#23144
* github.com:scylladb/scylladb:
reader_concurrency_semaphore: register_inactive_read(): handle aborted permit
test/boost/reader_concurrency_semaphore_test: move away from db::timeout_clock::now()
2025-04-11 17:10:39 +03:00
..
2024-02-06 13:22:16 +02:00
2024-09-11 23:21:40 +03:00
2024-02-06 13:22:16 +02:00
2024-05-20 12:56:20 +03:00
2024-06-21 19:20:27 +03:00
2024-02-06 13:22:16 +02:00
2025-02-03 15:50:22 +02:00
2024-08-05 08:23:35 +03:00
2024-09-05 19:31:30 +03:00
2024-08-05 08:23:35 +03:00
2025-01-08 11:48:23 +01:00
2024-08-05 08:23:35 +03:00
2024-10-01 01:38:47 +00:00
2024-02-06 13:22:16 +02:00
2024-05-02 19:37:04 +03:00
2024-02-06 13:22:16 +02:00
2024-08-05 08:23:35 +03:00
2024-09-11 23:21:40 +03:00
2024-02-02 22:12:57 +08:00
2024-06-14 13:47:10 +05:30
2024-06-25 12:08:11 +03:00
2024-08-28 10:59:44 +02:00
2024-05-20 12:56:20 +03:00
2024-06-17 17:33:55 +03:00
2024-10-01 17:41:02 +03:00
2024-11-04 14:24:18 -03:00
2024-05-26 12:32:43 +08:00
2024-06-07 06:44:59 +08:00
2024-01-11 08:37:56 +02:00
2024-08-13 10:07:12 +02:00
2024-09-11 23:21:40 +03:00
2024-08-29 21:19:23 +03:00
2024-08-05 08:23:35 +03:00
2024-02-06 13:22:16 +02:00
2024-08-02 14:38:46 +02:00
2024-02-06 13:22:16 +02:00
2024-09-11 23:21:40 +03:00
2024-06-21 07:12:06 +03:00
2024-08-26 16:56:18 +03:00
2024-02-06 13:22:16 +02:00
2024-01-18 12:50:06 +02:00
2023-12-02 22:37:22 +02:00
2024-02-06 13:22:16 +02:00
2024-04-19 07:44:07 +03:00
2024-05-20 12:56:20 +03:00
2024-08-22 23:34:24 +03:00
2024-02-06 13:22:16 +02:00
2024-08-05 08:23:35 +03:00
2024-08-29 21:19:23 +03:00
2024-05-05 23:31:48 +03:00
2024-02-06 13:22:16 +02:00
2024-08-05 08:23:35 +03:00
2024-06-21 07:12:06 +03:00
2024-08-28 10:59:44 +02:00
2024-05-20 12:56:20 +03:00
2024-08-22 20:51:38 +03:00
2024-07-31 09:18:54 +02:00
2024-01-11 08:37:56 +02:00
2024-06-19 23:19:33 +02:00
2024-08-05 08:23:35 +03:00
2024-10-01 01:38:47 +00:00
2024-05-05 23:31:48 +03:00
2024-02-06 13:22:16 +02:00
2024-02-06 13:22:16 +02:00
2024-02-02 22:12:57 +08:00
2024-08-05 08:23:35 +03:00
2024-08-05 08:23:35 +03:00
2024-08-05 08:23:35 +03:00
2025-02-03 16:15:46 +02:00
2024-08-29 10:37:07 +02:00
2024-08-05 08:23:35 +03:00
2024-08-05 08:23:35 +03:00
2024-09-10 19:05:57 +03:00
2024-10-24 09:18:11 -04:00
2024-09-11 13:12:32 +03:00
2024-06-21 07:12:06 +03:00
2024-08-13 10:03:46 +02:00
2024-09-10 19:05:57 +03:00
2024-10-24 09:18:11 -04:00
2025-04-10 21:38:13 +03:00
2024-06-21 07:12:06 +03:00
2024-11-08 15:32:24 +01:00
2024-09-11 23:21:40 +03:00
2024-05-26 12:32:43 +08:00
2024-02-06 13:22:16 +02:00
2024-08-05 08:23:35 +03:00
2024-05-16 00:28:47 +02:00
2024-01-11 14:33:47 +08:00
2025-02-18 04:48:22 -05:00
2024-05-26 12:32:43 +08:00
2024-03-11 11:37:48 +02:00
2025-04-11 04:04:42 -04:00
2024-08-22 20:51:38 +03:00
2024-04-19 22:56:16 +08:00
2024-02-06 13:22:16 +02:00
2024-08-05 08:23:35 +03:00
2024-06-04 15:43:04 +02:00
2025-04-11 15:09:43 +03:00
2024-08-27 16:15:40 +03:00
2024-08-11 09:53:19 -04:00
2024-06-21 07:12:06 +03:00
2024-09-09 14:22:58 +03:00
2024-03-26 15:31:18 +02:00
2024-11-12 14:36:06 +01:00
2024-06-18 15:55:22 +08:00
2024-08-08 10:42:09 +02:00
2023-12-05 14:09:34 +01:00
2024-04-19 22:57:36 +08:00
2024-05-27 17:34:38 +03:00
2024-05-16 13:30:03 +02:00
2024-09-11 23:21:40 +03:00
2024-12-06 10:36:46 +02:00
2024-08-13 10:03:46 +02:00
2024-09-13 12:25:10 +03:00
2025-01-21 00:48:34 +05:30
2023-12-05 08:25:04 +03:00
2024-09-11 23:21:40 +03:00
2024-09-13 14:09:53 +03:00
2024-02-02 22:12:57 +08:00
2024-09-01 19:58:15 +03:00
2024-08-17 23:38:05 +05:30
2024-09-05 19:31:30 +03:00
2024-09-05 19:33:29 +03:00
2024-06-18 23:36:30 +05:30
2024-08-29 21:19:23 +03:00
2024-09-11 23:21:40 +03:00
2024-05-03 11:34:23 +03:00
2024-07-19 13:15:57 +05:30
2024-02-06 13:22:16 +02:00
2025-02-06 16:47:14 +01:00
2024-08-29 10:37:07 +02:00
2024-05-27 17:34:38 +03:00
2024-09-11 23:21:40 +03:00
2024-02-06 13:22:16 +02:00
2024-08-23 09:26:22 +03:00
2024-06-18 15:55:22 +08:00
2024-05-26 12:32:43 +08:00
2024-04-19 22:56:16 +08:00
2024-09-11 23:21:40 +03:00
2025-02-03 15:50:22 +02:00
2024-08-02 14:38:46 +02:00
2024-05-05 23:31:48 +03:00
2024-05-05 23:31:48 +03:00
2024-12-04 13:44:33 +02:00
2024-02-06 13:22:16 +02:00
2024-02-06 13:22:16 +02:00
2024-02-06 13:22:16 +02:00
2024-05-26 12:32:43 +08:00