mirror of
https://github.com/scylladb/scylladb.git
synced 2026-05-31 12:06:44 +00:00
From Paweł: This is another episode in the "convert X to streamed mutations" series. Hashing mutations (mainly for repair) is converted so that it doesn't need to rebuild whole mutation. The first part of the series changes the way streamed mutations deal with range tombstones. Since it is not necessary to make sure we write disjoint tombstones to sstables there is no need anymore for streamed mutations to produce disjoint tombstones and, consequently, no need for range tombstones to be split into range_tombstone_begin and range_tombstone_end. The second part is the actual hashing implementation. However, to ensure that the hash depends only on the contents of the mutation and no the way it is stored in different data sources range tombstones have to be made disjoint before they are hashed. This series also ensures that any changes caused by streamed mutations to hashing and streaming do not break repair during upgrade.