mirror of
https://github.com/qdrant/qdrant.git
synced 2026-10-03 11:27:37 -05:00
Behind the new compact_logstore_tracker feature flag, implied by serverless_compatible. SegmentBuilder calls PayloadStorageEnum::make_immutable before its flush of a non-appendable segment's payload storage. Blobstore::make_immutable switches an append-only storage to the compacted tracker in memory, from the mappings in RAM plus whatever part was flushed, and removes the append-only tracker file; the next flush saves the compacted one. The mutable mode is left as is. Sparse vector storages keep the append-only tracker: plain nearest queries never read them. CompactedTracker::from_tracker no longer writes, and the tracker keeps its fs as an object-safe TrackerFs instead of a boxed closure. Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>