mirror of
https://github.com/scylladb/scylladb.git
synced 2026-04-21 00:50:35 +00:00
Token group is an abstraction that allows us to easily segregate a mutation stream into buckets. Groups share the same properties as compaction groups. Groups follow the ring order and they don't overlap each other. Groups are defined according to a classifier, which return an id given a token. It's expected that classifier return ids in monotonic increasing order. The reasons for this abstraction are: 1) we don't want to make segregator aware of compaction groups 2) splitting happens before tablet metadata is changed, so the the segregator will have to classify based on whether the token belongs to left (group id 0) or right (group id 1) side of the range to be split. The reason for not extending sstable writer instead, is that today, writer consumer can only tell producer to switch to a new writer, when consuming the end of a partition, but that would be too late for us, as we have to decide to move to a new writer at partition start instead. It will be wired into compaction when it happens in split mode. Signed-off-by: Raphael S. Carvalho <raphaelsc@scylladb.com>