mirror of
https://github.com/scylladb/scylladb.git
synced 2026-04-19 16:15:07 +00:00
" Cache tracker is a thread-local global object that indirectly depends on the lifetimes of other objects. In particular, a member of cache_tracker: mutation_cleaner may extend the lifetime of a mutation_partition until the cleaner is destroyed. The mutation_partition itself depends on LSA migrators which are thread-local objects. Since, there is no direct dependency between LSA-migrators and cache_tracker it is not guarantee that the former won't be destroyed before the latter. The easiest (barring some unit tests that repeat the same code several billion times) solution is to stop using globals. This series also improves the part of LSA sanitiser that deals with migrators. Fixes #3526. Tests: unit(release) " * tag 'deglobalise-cache-tracker/v1-rebased' of https://github.com/pdziepak/scylla: mutation_cleaner: add disclaimer about mutation_partition lifetime lsa: enhance sanitizer for migrators lsa: formalise migrator id requirements row_cache: deglobalise row cache tracker