sstables: Switch index_list to chunked_vector to avoid large allocations

If there is a lot of partitions in the index page, index_list may grow
large and require large contiguous blocks of memory. That puts
pressure on the memory allocator, and if memory is fragmented, may not
be possible to satisfy without a lot of eviction.
This commit is contained in:
Tomasz Grabiec
2018-07-11 15:57:51 +02:00
parent b0f5df10d2
commit 3b2890e1db

View File

@@ -25,10 +25,11 @@
#include <vector>
#include <seastar/core/future.hh>
#include "utils/loading_shared_values.hh"
#include "utils/chunked_vector.hh"
namespace sstables {
using index_list = std::vector<index_entry>;
using index_list = utils::chunked_vector<index_entry>;
// Associative cache of summary index -> index_list
// Entries stay around as long as there is any live external reference (list_ptr) to them.