Arnaud Gourlay
5c6ccf50a5
Fix duplicate ids in upsert_points ( #7194 )
2025-09-01 15:29:08 +02:00
xzfc
febf72a47e
Generic AccessPattern ( #7166 )
2025-09-01 11:16:20 +00:00
tellet-q
ef6e926826
Add hw usage to Facet response ( #7189 )
...
* Add usage stats to Facet response
2025-09-01 11:25:17 +02:00
Tim Visée
094fb02e6e
Revert "Fix flaky save_on_disk test race condition ( #7126 )" ( #7182 )
...
* Revert "Fix flaky save_on_disk test race condition (#7126 )"
This reverts commit 80f0b53cea .
Related flakiness reports:
- https://github.com/qdrant/qdrant/issues/7156
- https://github.com/qdrant/qdrant/issues/7181
* Fix comment
2025-09-01 10:51:23 +02:00
Andrey Vasnetsov
2c6cc22325
do not anonymize peer id ( #7177 )
2025-08-29 20:09:51 +02:00
Ivan Pleshkov
b03853c33e
Quantization storage builder for chunked mmap ( #7174 )
...
* Quantization storage builder for chunked mmap
* fix after rebase
* Update lib/segment/src/vector_storage/quantized/quantized_chunked_mmap_storage.rs
---------
Co-authored-by: Tim Visée <tim+github@visee.me >
2025-08-29 16:10:30 +02:00
Ivan Pleshkov
3be4ca8805
Populate multivector quantization offsets ( #7173 )
2025-08-29 14:05:48 +02:00
Ivan Pleshkov
4b52affe52
Dont use quantization in exact plain search ( #7179 )
2025-08-29 14:05:06 +02:00
Tim Visée
bb51da71ea
Use locked segment by reference without cloning Arc ( #7176 )
...
* Use locked segment by reference without cloning Arc
* Remove unnecessary clone
* Return list of lock references
2025-08-29 13:26:51 +02:00
Arnaud Gourlay
71a8d96372
Fix potential deadlock in ProxySegment all_vectors ( #7172 )
...
* Fix potential deadlock in ProxySegment all_vectors
* Add comment
---------
Co-authored-by: timvisee <tim@visee.me >
2025-08-29 11:06:10 +02:00
Roman Titov
126a3cf558
Move CoreSearchRequest and QueryEnum from collection into shard crate ( #7169 )
2025-08-29 10:15:58 +02:00
Tim Visée
894692919c
Remove chunked mmap vectors mlock flag ( #7165 )
2025-08-28 15:40:13 +02:00
Roman Titov
6111bd2634
Move segments_updater from collection into shard crate ( #7163 )
2025-08-28 15:01:54 +02:00
Roman Titov
1327604648
Make update_worker_fn a blocking task, instead of async ( #7015 )
2025-08-27 17:26:33 +02:00
Roman Titov
d17f54c853
Fixes to UpdateHandler::flush_worker ( #7151 )
...
- rename `wal_flash_job` to `wal_flush_job`
- correctly handle/report WAL flush errors
2025-08-27 14:16:57 +02:00
tellet-q
6c75566ac4
Add tests for immutable text index ( #7153 )
...
* Add unit test
* Flush text index deletes before reopening them
* Fix unused warning if compiling without RocksDB
* Add e2e test
---------
Co-authored-by: timvisee <tim@visee.me >
2025-08-27 12:18:58 +02:00
Fabrício Bracht
80f0b53cea
Fix flaky save_on_disk test race condition ( #7126 )
...
* fix flaky save_on_disk tests with barrier synchronization
* apply suggestions from coderabbitai bot
* fix timeout in test_wait_for_multiple_notifications
* add TEST_IO_SLACK for disk write latency in tests
* make concurrent readers count explicit in test
* relax timing assertions and use timeout variable for consistency
* refactor wait_for to use deadline-based loop to prevent false timeouts
* fix stale variable name in comment
* relax immediate test timing bound to reduce CI flakes
* add overflow protection for deadline calculation
* apply "checked_sub here and unwrap" suggestion
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* track remaining time instead of deadline to avoid overflow issues
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-08-27 10:55:25 +02:00
Tim Visée
931b467dde
Bump dev version to v1.15.5-dev ( #7154 )
2025-08-27 10:54:15 +02:00
Roman Titov
6fa24e1ee3
Move SerdeWal from collection into shard crate ( #7146 )
2025-08-26 16:27:35 +02:00
dependabot[bot]
9b1bbac534
build(deps): bump url from 2.5.4 to 2.5.7 ( #7144 )
...
Bumps [url](https://github.com/servo/rust-url ) from 2.5.4 to 2.5.7.
- [Release notes](https://github.com/servo/rust-url/releases )
- [Commits](https://github.com/servo/rust-url/commits )
---
updated-dependencies:
- dependency-name: url
dependency-version: 2.5.7
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-26 13:20:57 +02:00
Andrey Vasnetsov
e744bd6014
implement custom collection metadata ( #7123 )
...
* implement custom collection metadata
* persist metadata change
* Also unset a key in the test
---------
Co-authored-by: timvisee <tim@visee.me >
2025-08-26 11:49:17 +02:00
dependabot[bot]
bef3e88340
build(deps): bump tinyvec from 1.9.0 to 1.10.0 ( #7139 )
...
Bumps [tinyvec](https://github.com/Lokathor/tinyvec ) from 1.9.0 to 1.10.0.
- [Changelog](https://github.com/Lokathor/tinyvec/blob/main/CHANGELOG.md )
- [Commits](https://github.com/Lokathor/tinyvec/compare/v1.9.0...v1.10.0 )
---
updated-dependencies:
- dependency-name: tinyvec
dependency-version: 1.10.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-26 10:43:09 +02:00
dependabot[bot]
0c937a3801
build(deps): bump io-uring from 0.7.9 to 0.7.10 ( #7142 )
...
Bumps [io-uring](https://github.com/tokio-rs/io-uring ) from 0.7.9 to 0.7.10.
- [Commits](https://github.com/tokio-rs/io-uring/commits )
---
updated-dependencies:
- dependency-name: io-uring
dependency-version: 0.7.10
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-26 10:34:39 +02:00
dependabot[bot]
8434547690
build(deps): bump charabia from 0.9.6 to 0.9.7 ( #7140 )
...
Bumps [charabia](https://github.com/meilisearch/charabia ) from 0.9.6 to 0.9.7.
- [Release notes](https://github.com/meilisearch/charabia/releases )
- [Commits](https://github.com/meilisearch/charabia/compare/v0.9.6...v0.9.7 )
---
updated-dependencies:
- dependency-name: charabia
dependency-version: 0.9.7
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-26 10:34:29 +02:00
Andrey Vasnetsov
55b0f86122
restore missed index laoding ( #7133 )
2025-08-26 09:48:52 +02:00
xzfc
937cd477ac
Misc fixes ( #7134 )
...
* PrimitiveVectorElement: use zerocopy
* PrimitiveVectorElement: also use zerocopy::FromBytes
* serialize_graph_links: back_index is Vec<PointOffsetType>
* for_each_link_with_vector: loosen lifetimes
2025-08-26 09:43:37 +02:00
xzfc
0bcdcffb69
Clean up GraphLayers::search_entry_on_level a bit ( #6946 )
...
review remarks
are you happy fmt
don't do unnecessary scoring
2025-08-25 19:07:35 +02:00
Arnaud Gourlay
0781ea8893
Segment holder has deterministic segment iteration ( #7131 )
2025-08-25 15:40:21 +02:00
Arnaud Gourlay
1e81d4f3b3
Make points upsert ordering deterministic ( #7130 )
...
* Make points upsert ordering deterministic
* use Iterator magic (thx Tim)
2025-08-25 14:49:03 +02:00
Arnaud Gourlay
db2489ba9f
Test for segment double proxies ( #7127 )
2025-08-25 14:20:33 +02:00
Arnaud Gourlay
59257681c9
Log optimizer name running ( #7129 )
2025-08-25 14:20:14 +02:00
Ivan Pleshkov
a2089f6a71
chunked mmap as a quantization storage ( #7116 )
2025-08-25 12:27:29 +02:00
xzfc
f2ce816fbe
Add memory::madvise::will_need_multiple_pages() ( #7124 )
2025-08-25 09:22:11 +00:00
xzfc
902916f524
Remove unused GraphLinks::on_disk method ( #7125 )
2025-08-25 11:19:18 +02:00
Andrey Vasnetsov
5235d86435
measure disk size of directories if available ( #7120 )
...
* measure disk size of directories if available
* review suggestions
* Update comment
---------
Co-authored-by: xzfc <xzfcpw@gmail.com >
2025-08-25 00:17:27 +02:00
Andrey Vasnetsov
bf60e96619
filter text any ( #7100 )
...
* internal implementation for filter any
* implement api for match `text_any`
* allow naive implementation of text match any
* dedup after kmerge + renames
* improve `expected_should_estimation`
* congruence test
* openapi test
* setup index in each test
---------
Co-authored-by: Luis Cossío <luis.cossio@outlook.com >
2025-08-24 12:09:05 +02:00
xzfc
95d7936687
Graph links serializer: avoid large intermediate allocations ( #7118 )
...
* Introduce io::file_operations::atomic_save
* Replace GraphLinksSerializer with serialize_graph_links
2025-08-22 17:08:35 +00:00
Ivan Pleshkov
879da486af
Remove quantization load from trait ( #7113 )
...
* remove quantization load
* refactor load
* fix fmt error
* fix clippy
2025-08-22 14:37:32 +02:00
Roman Titov
bfdc779203
Move SegmentHolder into shard crate ( #7115 )
2025-08-22 12:39:06 +02:00
Jojii
4012ea9e51
Mirgate from old shard key format on load ( #7110 )
...
* Migrate shard-key format
* Reduce visibility of was_old_format attribute
* Add debug message when we migrate persisted shard key format
---------
Co-authored-by: timvisee <tim@visee.me >
2025-08-22 10:47:28 +02:00
Roman Titov
5eb40111a5
Move UpdateTracker from SegmentHolder into UpdateHandler/CollectionUpdater ( #7112 )
2025-08-21 15:56:14 +02:00
Tim Visée
e02d3dcb38
In proxy segment, don't return deleted point versions ( #7109 )
...
* In proxy segment, don't return deleted point versions
More specifically, don't return a point version from the wrapped segment
if that point is already marked for deletion within the proxy.
* Do get wrapped segment point version if it's newer than soft delete
* Flatten function
2025-08-21 15:48:18 +02:00
Luis Cossío
a2d3270eb8
Custom RRF k parameter ( #7065 )
...
* allow custom K parameter for RRF
* generate grpc docs and openapi
* use tagged type approach for parametrized fusions
* use params approach in grpc
* simplify api structure
* upd schema
* nits
* rest: parameterized rrf as query variant
* consistency in doc comments
---------
Co-authored-by: Andrey Vasnetsov <andrey@vasnetsov.com >
2025-08-20 15:05:27 -04:00
Roman Titov
5d826c583d
Move PayloadIndexSchema into shard crate ( #7108 )
2025-08-20 18:58:03 +02:00
Roman Titov
0bfa8f61d5
Move SaveOnDisk into common crate ( #7105 )
2025-08-20 17:06:47 +02:00
Tim Visée
1d97e9a415
Keep segment ID mapping when proxying all segments ( #7106 )
...
* When swapping existing segment, remove first to allow segment ID reuse
* Share original segment ID with proxies, keeps original mapping
* Add replace function, that directly replaces existing segment
2025-08-20 15:18:06 +02:00
Ivan Pleshkov
f3b61bbf4a
Retrieve files list from quantization storage ( #7095 )
...
* Get files list from quantization
* fix ci
2025-08-20 14:15:09 +02:00
Roman Titov
933c7c8ac1
Refactor ShardHolder to use SegmentConfig instead of CollectionParams ( #7098 )
2025-08-20 14:01:04 +02:00
Roman Titov
8a84c1abb0
Remove async from SegmentHolder::deduplicate_points ( #7094 )
2025-08-20 13:26:16 +02:00
Ivan Pleshkov
cb6958f56c
using quantization in plain segment ( #7060 )
2025-08-20 13:08:58 +02:00