You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
With off-strategy compaction + repair thousands and even 100s of thousands sstables is not something impossible.
For 1000 entries the size of a linear vector buffer can become (assuming an sstable object size is 16B (pointer + size_t)) 16B*1000=16KB.
And even this not overly pessimistic case can create unnecessary pressure on seastar memory allocator.
Not to mention more extreme cases mentioned above.
It makes sense to use better suited container instead of std::vector here.
e.g. chunked_vector.
Found by a code review.
The text was updated successfully, but these errors were encountered:
Installation details
HEAD: 780aee9
Description
formatted_sstables_list
uses std::vector to storestd::string
objects what are sstables' names for a given compaction unit.With off-strategy compaction + repair thousands and even 100s of thousands sstables is not something impossible.
For 1000 entries the size of a linear vector buffer can become (assuming an sstable object size is 16B (pointer + size_t)) 16B*1000=16KB.
And even this not overly pessimistic case can create unnecessary pressure on seastar memory allocator.
Not to mention more extreme cases mentioned above.
It makes sense to use better suited container instead of
std::vector
here.e.g.
chunked_vector
.Found by a code review.
The text was updated successfully, but these errors were encountered: