mirror of
https://github.com/scylladb/scylladb.git
synced 2026-04-25 11:00:35 +00:00
It might happen that multiple tablets co-habit the same shard, so we want load-and-stream to jump into a new streaming session for every tablet, such that the receiver will have the data properly segregated. That's a similar treatment we gave to repair. Today, load-and-stream fails due to sstables spanning more than 1 tablet in the receiver. Synchronization with migration is done by taking replication map, so migrations cannot advance while streaming new data. A bug was fixed too, where data must be streamed to pending replicas too, to handle case where migration is ongoing and new data must reach both old and new replica set. A test was added stressing this synchronization path. Another bug was fixed in sstable loading, which expected sharder to not be invalidated throughout the operation, but that breaks during migrations. Fixes #17315. Closes scylladb/scylladb#17449 * github.com:scylladb/scylladb: test: test_tablets: Add load-and-stream test sstables_loader: Stream to pending tablet replica if needed sstables_loader: Implement tablet based load-and-stream sstables_loader: Virtualize sstable_streamer for tablet sstables_loader: Avoid reallocations in vector sstable_loader: Decouple sstable streaming from selection sstables_loader: Introduce sstable_streamer Fix online SSTable loading with concurrent tablet migration