service: tablet_allocator: avoid large contiguous vector in make_repair_plan()

make_repair_plan() allocates a temporary vector which can grow larger
than our 128k basic allocation unit. Use a chunked vector to avoid
stalls due to large allocations.

Fixes #24713.

Closes scylladb/scylladb#24801

(cherry picked from commit 0138afa63b)

Closes scylladb/scylladb#24902
This commit is contained in:
Avi Kivity
2025-07-02 16:43:35 +03:00
parent c9de7d68f2
commit 4eb220d3ab

View File

@@ -842,7 +842,7 @@ public:
db_clock::duration repair_time_diff;
};
std::vector<repair_plan> plans;
utils::chunked_vector<repair_plan> plans;
auto migration_tablet_ids = co_await mplan.get_migration_tablet_ids();
for (auto&& [table, tmap_] : _tm->tablets().all_tables()) {
auto& tmap = *tmap_;