Michał Chojnowski
a539ff6419
utils/lsa/chunked_managed_vector: fix the calculation of max_chunk_capacity()
...
`chunked_managed_vector` is a vector-like container which splits
its contents into multiple contiguous allocations if necessary,
in order to fit within LSA's max preferred contiguous allocation
limits.
Each limited-size chunk is stored in a `managed_vector`.
`managed_vector` is unaware of LSA's size limits.
It's up to the user of `managed_vector` to pick a size which
is small enough.
This happens in `chunked_managed_vector::max_chunk_capacity()`.
But the calculation is wrong, because it doesn't account for
the fact that `managed_vector` has to place some metadata
(the backreference pointer) inside the allocation.
In effect, the chunks allocated by `chunked_managed_vector`
are just a tiny bit larger than the limit, and the limit is violated.
Fix this by accounting for the metadata.
Also, before the patch `chunked_managed_vector::max_contiguous_allocation`,
repeats the definition of logalloc::max_managed_object_size.
This is begging for a bug if `logalloc::max_managed_object_size`
changes one day. Adjust it so that `chunked_managed_vector` looks
directly at `logalloc::max_managed_object_size`, as it means to.
Fixes scylladb/scylladb#23854
(cherry picked from commit 7f9152babc )
Closes scylladb/scylladb#24371
2025-06-10 11:25:52 +03:00
..
2024-12-18 17:45:13 +02:00
2025-01-14 07:56:39 -05:00
2025-06-10 11:25:52 +03:00
2025-04-18 16:17:41 +03:00
2024-12-23 23:37:02 +01:00
2025-03-17 10:03:06 +02:00
2025-02-19 12:12:28 +03:00
2024-12-23 23:37:02 +01:00
2024-12-23 23:37:02 +01:00
2025-01-14 07:56:39 -05:00
2024-12-18 17:45:13 +02:00
2024-12-18 17:45:13 +02:00
2024-12-18 17:45:13 +02:00
2024-12-18 17:45:13 +02:00
2024-12-18 17:45:13 +02:00
2025-01-14 07:56:39 -05:00
2024-12-18 17:45:13 +02:00
2025-01-14 07:56:39 -05:00
2025-01-14 07:56:39 -05:00
2025-01-14 07:56:39 -05:00
2024-12-18 17:45:13 +02:00
2025-01-14 07:56:39 -05:00
2024-12-18 17:45:13 +02:00
2025-01-14 07:56:39 -05:00
2024-12-18 17:45:13 +02:00
2024-12-18 17:45:13 +02:00
2024-12-18 17:45:13 +02:00
2024-12-18 17:45:13 +02:00
2024-12-18 17:45:13 +02:00
2024-12-18 17:45:13 +02:00
2025-02-26 23:17:27 +02:00
2024-12-18 17:45:13 +02:00
2024-12-18 17:45:13 +02:00
2024-12-18 17:45:13 +02:00
2024-08-05 08:23:35 +03:00
2024-12-18 17:45:13 +02:00
2025-01-14 07:56:39 -05:00
2025-03-06 10:22:05 +02:00
2024-12-18 17:45:13 +02:00
2025-01-14 07:56:39 -05:00
2024-12-18 17:45:13 +02:00
2025-03-24 10:12:46 +03:00
2024-12-18 17:45:13 +02:00
2025-01-14 07:56:39 -05:00
2024-12-18 17:45:13 +02:00
2024-08-05 08:23:35 +03:00
2025-02-25 10:32:32 +03:00
2025-02-25 10:32:32 +03:00
2025-02-06 11:33:59 +03:00
2025-01-14 07:56:39 -05:00
2025-01-14 07:56:39 -05:00
2024-12-18 17:45:13 +02:00
2024-12-18 17:45:13 +02:00
2025-01-14 07:56:39 -05:00
2024-10-21 11:21:52 +03:00
2025-04-01 00:07:28 +02:00
2025-01-14 07:56:39 -05:00
2024-12-18 17:45:13 +02:00
2025-01-14 07:56:39 -05:00
2025-02-26 23:15:16 +02:00
2025-01-14 07:56:39 -05:00
2025-04-12 11:47:00 +03:00
2025-03-06 13:35:37 +01:00
2024-12-18 17:45:13 +02:00
2025-01-14 07:56:39 -05:00
2024-12-18 17:45:13 +02:00
2025-02-26 23:17:27 +02:00
2025-01-07 13:22:00 +02:00
2025-01-14 07:56:39 -05:00
2024-12-18 17:45:13 +02:00
2024-12-18 17:45:13 +02:00
2024-12-18 17:45:13 +02:00
2025-04-29 15:47:33 -03:00
2024-12-18 17:45:13 +02:00
2025-01-14 07:56:39 -05:00
2024-12-18 17:45:13 +02:00
2025-03-26 11:15:13 +01:00
2025-01-14 07:56:39 -05:00
2024-12-18 17:45:13 +02:00
2024-12-18 17:45:13 +02:00
2025-01-14 07:56:39 -05:00
2025-04-12 11:47:02 +03:00
2024-12-18 17:45:13 +02:00
2024-12-18 17:45:13 +02:00
2025-01-09 11:14:49 +02:00
2024-12-18 17:45:13 +02:00
2025-04-01 00:07:28 +02:00
2025-04-01 00:07:28 +02:00
2024-12-18 17:45:13 +02:00
2024-12-18 17:45:13 +02:00
2024-12-18 17:45:13 +02:00
2025-01-14 07:56:39 -05:00
2025-01-14 07:56:39 -05:00
2024-12-18 17:45:13 +02:00
2024-12-18 17:45:13 +02:00
2024-12-18 17:45:13 +02:00
2025-01-14 07:56:39 -05:00
2025-01-14 07:56:39 -05:00
2024-12-18 17:45:13 +02:00
2024-12-18 17:45:13 +02:00
2024-12-18 17:45:13 +02:00
2025-01-14 07:56:39 -05:00
2025-03-20 14:54:09 +00:00
2025-03-20 14:54:09 +00:00
2025-03-03 16:58:38 +02:00
2025-03-03 16:58:38 +02:00
2024-12-18 17:45:13 +02:00
2025-01-14 07:56:39 -05:00
2024-12-18 17:45:13 +02:00
2024-12-18 17:45:13 +02:00
2024-12-18 17:45:13 +02:00
2025-01-14 07:56:39 -05:00
2024-12-18 17:45:13 +02:00
2024-12-18 17:45:13 +02:00
2024-12-18 17:45:13 +02:00
2025-03-06 10:22:05 +02:00
2025-01-14 07:56:39 -05:00
2025-04-30 16:43:22 +03:00
2025-01-14 07:56:39 -05:00
2024-12-18 17:45:13 +02:00
2024-12-18 17:45:13 +02:00
2025-06-10 11:25:52 +03:00
2025-06-10 11:25:52 +03:00
2024-12-18 17:45:13 +02:00
2024-12-18 17:45:13 +02:00
2025-04-16 22:06:06 +02:00
2024-12-18 17:45:13 +02:00
2025-06-10 11:25:52 +03:00
2024-12-18 17:45:13 +02:00
2024-12-18 17:45:13 +02:00
2024-12-18 17:45:13 +02:00
2024-12-18 17:45:13 +02:00
2025-01-14 07:56:39 -05:00
2024-12-18 17:45:13 +02:00
2025-01-14 07:56:39 -05:00
2024-12-18 17:45:13 +02:00
2024-12-18 17:45:13 +02:00
2024-12-18 17:45:13 +02:00
2024-12-18 17:45:13 +02:00
2025-01-14 07:56:39 -05:00
2025-03-06 12:17:32 +01:00
2024-12-18 17:45:13 +02:00
2025-04-12 11:47:00 +03:00
2025-04-12 11:47:00 +03:00
2024-12-18 17:45:13 +02:00
2024-12-18 17:45:13 +02:00
2024-12-18 17:45:13 +02:00
2024-12-18 17:45:13 +02:00
2025-01-14 07:56:39 -05:00
2024-12-18 17:45:13 +02:00
2024-12-23 23:37:02 +01:00
2024-12-23 23:37:02 +01:00
2024-12-18 17:45:13 +02:00
2025-01-14 07:56:39 -05:00
2025-01-14 07:56:39 -05:00
2025-01-14 07:56:39 -05:00
2024-12-18 17:45:13 +02:00
2025-01-14 07:56:39 -05:00
2025-02-17 08:01:38 -05:00
2024-12-18 17:45:13 +02:00
2024-12-18 17:45:13 +02:00
2024-12-18 17:45:13 +02:00
2024-12-18 17:45:13 +02:00
2025-01-12 14:50:29 +02:00
2024-12-18 17:45:13 +02:00
2024-12-18 17:45:13 +02:00
2025-04-01 00:07:28 +02:00
2024-12-18 17:45:13 +02:00
2024-12-24 12:19:20 +02:00
2025-02-26 23:23:53 +02:00
2025-01-26 15:54:06 +02:00
2025-06-03 10:02:34 +03:00
2025-06-03 10:02:34 +03:00
2024-12-18 17:45:13 +02:00
2024-12-18 17:45:13 +02:00
2024-08-05 08:23:35 +03:00
2024-12-18 17:45:13 +02:00
2025-01-14 07:56:39 -05:00
2025-01-14 07:56:39 -05:00
2024-12-18 17:45:13 +02:00
2024-12-18 17:45:13 +02:00
2025-01-21 16:24:45 +08:00
2024-12-18 17:45:13 +02:00
2024-12-18 17:45:13 +02:00
2025-01-14 07:56:39 -05:00
2024-12-18 17:45:13 +02:00
2025-01-14 07:56:39 -05:00
2024-12-18 17:45:13 +02:00
2024-12-18 17:45:13 +02:00
2025-02-25 10:32:32 +03:00
2025-01-14 07:56:39 -05:00
2024-12-18 17:45:13 +02:00
2024-12-18 17:45:13 +02:00
2024-12-18 17:45:13 +02:00
2025-01-14 07:56:39 -05:00