mirror of
https://github.com/scylladb/scylladb.git
synced 2026-05-12 19:02:12 +00:00
" This is an improvement on my latest series. Instead of just dealing with the problem of destroying the Summary that I have identified in a previous test, I have tried to find other sources of stalls. Some of them are on readers and would affect early processes and operations like nodetool refresh. Others are on writers, which can affect any SSTable being written. Two of those stalls (on large filter, on summary read), I saw in a synthetic benchmark where I used very small values + nodetool compact to generate one SSTable with many keys. They were 80ms and 20ms respectively, and now they are totally gone. For others, I just tried to be safe (for instance, if we know reading/writing large vectors can be costly, just always insert preemption points in them). With all of these patches applied, I no longer see stalls coming from the SSTable code in those tests (although given enough time, I am sure I can find more). Tests: unit (release) Fixes: #3282, Fixes #3281, Fixes #3269 " * 'sstables-stalls-v3-updated' of github.com:glommer/scylla: large_bitset/bloom filter: add preemption points in loops sstables: read filter in a thread abstract summary entry version of the token with a token view add a token_view sstables: rework summary entries reading sstables: avoid calls to resize for vectors sstables: replace potentially large for loop with do_until summary_entry: do not store key bytes in each summary entry tests: change tests to make summary non-copyable chunked_vector: do not iterate to destruct trivially destructible types