mirror of
https://github.com/scylladb/scylladb.git
synced 2026-05-02 14:15:46 +00:00
Today, table relies on row_cache::invalidate() serialization for concurrent sstable list updates to produce correct results. That's very error prone because table is relying on an implementation detail of invalidate() to get things right. Instead, let's make table itself take care of serialization on concurrent updates. To achieve that, sstable_list_builder is introduced. Only one builder can be alive for a given table, so serialization is guaranteed as long as the builder is kept alive throughout the update procedure. Signed-off-by: Raphael S. Carvalho <raphaelsc@scylladb.com> Message-Id: <20210721001716.210281-1-raphaelsc@scylladb.com>