Avi Kivity
f32971b81f
Merge 'multishard_mutation_query: make reader_context::lookup_readers() exception safe' from Botond Dénes
...
With regards to closing the looked-up querier if an exception is thrown. In particular, this requires closing the querier if a semaphore mismatch is detected. Move the table lookup above the line where the querier is looked up, to avoid having to handle the exception from it. As a consequence of closing the querier on the error path, the lookup lambda has to be made a coroutine. This is sad, but this is executed once per page, so its cost should be insignificant when spread over an
entire page worth of work.
Also add a unit test checking that the mismatch is detected in the first place and that readers are closed.
Fixes : #13784
Closes #13790
* github.com:scylladb/scylladb:
test/boost/database_test: add unit test for semaphore mismatch on range scans
partition_slice_builder: add set_specific_ranges()
multishard_mutation_query: make reader_context::lookup_readers() exception safe
multishard_mutation_query: lookup_readers(): make inner lambda a coroutine
(cherry picked from commit 1c0e8c25ca )
2023-06-08 04:29:51 -04:00
..
2022-02-13 14:16:16 +02:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-08-08 08:09:41 +03:00
2022-02-13 14:16:16 +02:00
2022-01-18 12:15:18 +01:00
2022-09-14 13:09:51 -03:00
2022-01-18 12:15:18 +01:00
2022-07-12 00:23:29 +03:00
2022-12-14 14:47:33 +01:00
2022-02-25 01:42:15 +01:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-06-23 16:14:41 +02:00
2022-01-18 12:15:18 +01:00
2022-06-21 11:58:13 +03:00
2022-04-12 16:37:11 +03:00
2022-08-05 20:34:07 +03:00
2022-12-14 14:47:33 +01:00
2022-08-08 08:09:41 +03:00
2022-12-19 11:15:14 -03:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-09-05 11:11:08 +02:00
2022-01-18 12:15:18 +01:00
2022-08-12 06:01:44 +03:00
2022-01-18 12:15:18 +01:00
2022-02-07 11:33:57 +02:00
2022-02-08 11:08:42 +01:00
2022-11-30 11:06:43 +02:00
2023-01-03 19:54:13 +02:00
2022-11-30 11:06:43 +02:00
2023-05-07 14:27:29 +03:00
2022-11-16 16:30:38 +02:00
2022-03-30 15:42:51 +03:00
2023-06-08 04:29:51 -04:00
2022-12-06 22:24:17 +02:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-06-21 11:58:13 +03:00
2022-01-18 12:15:18 +01:00
2022-02-16 10:06:10 +02:00
2022-07-05 16:41:09 +02:00
2022-07-05 16:41:09 +02:00
2022-07-05 16:41:09 +02:00
2023-01-16 21:10:56 +02:00
2022-08-07 12:53:05 +03:00
2022-04-26 14:46:42 +03:00
2023-03-16 10:42:03 +02:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-12-08 15:37:33 +02:00
2022-10-20 12:33:41 +03:00
2022-09-13 19:34:22 +04:00
2022-01-18 12:15:18 +01:00
2022-12-08 15:37:33 +02:00
2022-01-18 12:15:18 +01:00
2022-08-08 08:02:27 +03:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-02-22 12:55:38 +01:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-11-17 19:01:45 +03:00
2022-11-03 17:23:40 +02:00
2022-01-18 12:15:18 +01:00
2022-09-16 14:57:23 +03:00
2022-09-16 12:16:57 +03:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-12-19 11:15:14 -03:00
2022-11-30 11:06:43 +02:00
2022-12-06 11:21:16 +01:00
2022-01-18 12:15:18 +01:00
2022-12-14 14:47:33 +01:00
2022-12-08 15:37:33 +02:00
2023-05-02 21:58:41 +03:00
2023-04-18 02:32:24 -04:00
2022-12-08 15:37:33 +02:00
2023-01-10 12:01:36 +01:00
2022-12-13 14:17:18 +02:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-11-21 15:48:26 +02:00
2022-08-10 06:01:47 +03:00
2022-08-15 14:16:41 +03:00
2022-05-01 08:33:55 +03:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-12-14 14:47:33 +01:00
2022-06-22 20:16:48 +02:00
2023-04-14 10:37:30 +03:00
2022-12-08 15:37:33 +02:00
2023-01-03 19:54:13 +02:00
2022-03-15 11:42:42 +02:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2023-05-15 18:02:40 +02:00
2022-05-11 16:49:31 +02:00
2023-01-12 16:21:26 +01:00
2022-05-10 22:10:40 +03:00
2022-02-17 15:24:24 +02:00
2022-12-08 15:37:33 +02:00
2022-11-30 11:06:43 +02:00
2022-11-14 16:06:24 +01:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-10-20 12:33:41 +03:00
2022-12-06 11:21:16 +01:00
2023-02-27 08:58:34 +02:00
2022-12-14 14:47:33 +01:00
2022-12-15 10:14:49 +03:00
2022-12-15 10:14:49 +03:00
2022-12-15 10:14:49 +03:00
2022-06-03 07:26:29 +03:00
2022-05-25 09:27:04 +03:00
2023-01-09 20:17:57 +02:00
2022-12-08 15:37:33 +02:00
2023-01-08 15:34:28 +02:00
2023-01-09 20:17:57 +02:00
2023-04-24 17:51:01 +03:00
2022-11-30 11:06:43 +02:00
2022-10-11 05:17:08 +03:00
2022-09-16 14:57:23 +03:00
2022-07-27 16:58:52 +03:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-10-13 17:59:13 +03:00
2023-01-16 21:10:56 +02:00
2023-01-03 19:54:13 +02:00
2022-07-11 09:17:30 +02:00
2023-04-17 13:13:35 +02:00
2022-01-18 12:15:18 +01:00
2022-02-16 10:19:47 +02:00
2022-03-30 15:42:51 +03:00
2022-07-16 21:35:06 -03:00
2022-01-18 12:15:18 +01:00
2022-03-08 15:34:26 +02:00
2022-01-18 12:15:18 +01:00
2022-01-18 12:15:18 +01:00
2022-10-06 18:00:09 +03:00
2022-12-08 15:37:33 +02:00
2022-01-18 12:15:18 +01:00
2023-01-06 14:07:29 +01:00
2023-01-06 14:07:29 +01:00