* put all flags impls in a single module
* use in appendable_dense_vector_storage
* use in appendable_mmap_multi_dense_storage
* use in mmap_sparse_vector_storage
* clippy
* Add comment we cannot rely on length of deleted vectors bitvec
---------
Co-authored-by: timvisee <tim@visee.me>
* separate flags buffering and in-memory container
* new bitvec flags
* fmt
* clippy
* make BufferedDynamicFlags public to crate only
* clear cache after loading
* clippyyy
* improve comment
* Use resize with a constant to eliminate a hot closure
* Add comment on why we take subslice of bitslice
---------
Co-authored-by: timvisee <tim@visee.me>
* TestRawScorerProducer to use VectorStorageEnum
* TestRawScorerProducer:🆕 accept distance as an argument
* Drop TMetric from TestRawScorerProducer
* Remove `impl VectorStorage for TestRawScorerProducer`
* Add TestRawScorerProducer::internal_scorer
* Remove TestRawScorerProducer::get_vector
* Rename TestRawScorerProducer::{get_scorer => scorer}
* Introduce BufferedDynamicFlags
* clippy and extra changes
* fix flushing
* add mutable index impl
* use MutableNullIndex instead of MmapNullIndex
* use BufferedDynamicFlags
* remove mmap_null_index
* take updates before returning the flusher
* bump total_point_count on add and remove point
* improve test case
* Only clean up mutable null index files if index exists
* Remove mention of cached in context of length
* refactor flags into a single `Option<Storage>`
---------
Co-authored-by: timvisee <tim@visee.me>
* Deprecate init_from
* Mark memmap_threshold as deprecated
* Mark locks API as deprecated
* Mark RBAC collection access payload filter as deprecated
* Allow deprecations in tests and benchmarks
* Add test to catch bug
Bug: <https://github.com/qdrant/qdrant/issues/6880>
* Fix loading null index from wrong path
* Simplify test
* Also bump total point count when removing a point
* Add debug assertion, ensure we don't create null index in selector
* Update bug link
* Remove unused import
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
---------
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
* Fix bug that causes all replicas to die if node is restarted during resharding
* fix recursive async problem
* Avoid write lock unless required
* avoid using &mut when & is sufficient
* Remove is_in_progress since check_abort_resharding exists (#6806)
* On resharding abort, only abort transfers related to current operation
* Fix resharding dead replicas improvements (#6881)
* Apply suggestions to fix resharding dead replicas
* fmt
---------
Co-authored-by: timvisee <tim@visee.me>
* After payload index migration, delete RocksDB files
* Add comment on why it is safe to not clean up RocksDB files in some cases
* Update lib/segment/src/index/struct_payload_index.rs
Co-authored-by: Roman Titov <ffuugoo@users.noreply.github.com>
* Reformat
---------
Co-authored-by: Roman Titov <ffuugoo@users.noreply.github.com>
* Enable migration from RocksDB to mutable ID tracker by default
We planned to enable this by default in the Qdrant 1.15.0 release.
* Synchronize enable at version TODOs for other flags with planning
* Update OpenAPI spec