Arnaud Gourlay
bf8e86fb66
Add debug assertion for deleted version on proxy ( #7300 )
...
* Fix applying stale delete operation on proxy
* correct init of flag
* Update lib/shard/src/proxy_segment/mod.rs
Co-authored-by: Tim Visée <tim+github@visee.me >
* Update lib/shard/src/proxy_segment/segment_entry.rs
Co-authored-by: Tim Visée <tim+github@visee.me >
* Update lib/shard/src/proxy_segment/segment_entry.rs
Co-authored-by: Tim Visée <tim+github@visee.me >
* rollback unecessary check
---------
Co-authored-by: Tim Visée <tim+github@visee.me >
2025-09-24 15:01:13 +02:00
Arnaud Gourlay
688651bacc
Fix corruption due to concurrent update during snapshot ( #7298 )
2025-09-24 14:59:13 +02:00
Andrey Vasnetsov
38c394d4f4
log requests by type ( #7292 )
...
* store slow request log per request type
* filter by request name in API
* review fixes
2025-09-23 17:01:42 +02:00
dependabot[bot]
ae0e4e4305
build(deps): bump anyhow from 1.0.99 to 1.0.100 ( #7287 )
...
* build(deps): bump anyhow from 1.0.99 to 1.0.100
Bumps [anyhow](https://github.com/dtolnay/anyhow ) from 1.0.99 to 1.0.100.
- [Release notes](https://github.com/dtolnay/anyhow/releases )
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.99...1.0.100 )
---
updated-dependencies:
- dependency-name: anyhow
dependency-version: 1.0.100
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* Inline formatting argument
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: timvisee <tim@visee.me >
2025-09-23 10:30:52 +02:00
Arnaud Gourlay
04d8d05aa5
Fix deadlock on Actix RT in Collection Info ( #7277 )
2025-09-22 11:14:27 +02:00
Andrey Vasnetsov
e86d60e6b0
slow requests log ( #7188 )
...
* wip: generalization trait for queries
* implement generalization for point operations
* fmt
* log priority queue
* wip: SlowRequestsListener
* fmt
* fix clippy
* simplify generalization
* fmt
* implement collection of requests profiles for update API
* implement API for viewing slow requests log
* add collection name to update worker
* add datetime to log
* fmt
* probabilistic counter of unique requests
* rename
* compute hash before converting into json value
* move logable out of generalizable
* fmt
* log query request
* fmt
* some fixes
* move measurement into local shard
* fmt
* upd openapi (not important)
* For enum variants, has discriminant
* Make SearchParams Copy
* Hash 0.0 and -0.0 the same
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
* Correctly hash enum variants and float values
* Hash through ordered float instead
* Fix priority queue not keeping longest request for hash
* SearchParams implements Copy
* Fix clippy warning
* Add unordered_hash_unique
* skip serialization if none
* Use OrderedFloat for hashing a float
* Use OrderedFloat for hashing a float
* only log updates if they are performed
---------
Co-authored-by: timvisee <tim@visee.me >
Co-authored-by: Tim Visée <tim+github@visee.me >
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: xzfc <xzfcpw@gmail.com >
2025-09-19 19:59:25 +02:00
Tim Visée
ca7a8cc275
In optimizer, show bytes available/needed in human readable format ( #7273 )
...
* In optimizer, show bytes available/needed in human readable format
* Bytes as usize
2025-09-19 13:29:21 +02:00
Arnaud Gourlay
8a31160297
Always run Telemetry on a blocking thread ( #7269 )
...
* Always run Telemetry on a blocking thread
* run Telemetry on general runtime instead of the blocking Actix one
* Polish test
2025-09-19 10:28:09 +02:00
xzfc
22df6bc30a
Integrate hnsw_with_vectors ( #7232 )
...
* StorageGraphLinksVectors::try_new, make GraphLinksVectorsLayout non-fallible
* Integrate hnsw_with_vectors
* remove unused function
---------
Co-authored-by: generall <andrey@vasnetsov.com >
2025-09-18 17:36:48 +00:00
Arnaud Gourlay
f66dc31452
Fix deadlock on Actix RT in Cluster Info ( #7267 )
2025-09-17 15:54:11 +02:00
Arnaud Gourlay
6b87d5d670
Bump shaderc 0.10.1 ( #7266 )
2025-09-17 11:49:44 +02:00
Arnaud Gourlay
5238d16909
Fix deadlock on Actix RT in Telemetry ( #7265 )
...
* Deadlock on Actix RT
* Spawn blocking task for sync lock
2025-09-17 10:57:00 +02:00
Andrey Vasnetsov
bff9cb1a50
fix strict mode validation for nested filters ( #7264 )
...
* fix strict mode validation for nested filters
* fix test
2025-09-16 12:03:54 +02:00
Arnaud Gourlay
e79100a2f2
Fix phrase match to not match with unknown tokens ( #7252 )
...
* Fix phrase match to not match with unknown tokens
* add tests
* spelling
2025-09-16 11:16:17 +02:00
Andrey Vasnetsov
dbe71d44a8
Fix missing flush, flush before sync ( #7263 )
...
* add missed flush buffer
* For all BufWriters, wrap owned type and explicitly flush
---------
Co-authored-by: timvisee <tim@visee.me >
2025-09-16 10:34:12 +02:00
dependabot[bot]
2dad465ef1
build(deps): bump actix-files from 0.6.7 to 0.6.8 ( #7262 )
...
Bumps [actix-files](https://github.com/actix/actix-web ) from 0.6.7 to 0.6.8.
- [Release notes](https://github.com/actix/actix-web/releases )
- [Changelog](https://github.com/actix/actix-web/blob/v0.6.8/CHANGES.md )
- [Commits](https://github.com/actix/actix-web/compare/v0.6.7...v0.6.8 )
---
updated-dependencies:
- dependency-name: actix-files
dependency-version: 0.6.8
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-09-16 09:29:42 +02:00
dependabot[bot]
eae65547b7
build(deps): bump serde-untagged from 0.1.8 to 0.1.9 ( #7257 )
...
Bumps [serde-untagged](https://github.com/dtolnay/serde-untagged ) from 0.1.8 to 0.1.9.
- [Release notes](https://github.com/dtolnay/serde-untagged/releases )
- [Commits](https://github.com/dtolnay/serde-untagged/compare/0.1.8...0.1.9 )
---
updated-dependencies:
- dependency-name: serde-untagged
dependency-version: 0.1.9
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-09-16 09:28:29 +02:00
Arnaud Gourlay
360d7bc26d
Clippy 1.90 ( #7253 )
...
* Fix Clippy 1.90
* fmt
2025-09-15 20:12:11 +02:00
Arnaud Gourlay
bc13f01680
[strict-mode] Add max number of payload index count ( #7222 )
...
* [strict-mode] Add max number of payload index count
* improve docs and validation for StrictModeConfig
* fix from coderabbit
* test blocking access to payload indexes
* polish test
2025-09-15 13:12:40 +02:00
Kyamran
4c4a7cdbfd
Add unified raft version ( #7251 )
2025-09-15 11:08:26 +02:00
Arnaud Gourlay
de19cb442e
Fix non visible points during snapshots ( #7248 )
...
* Fix non visible points during snapshots
* Update lib/shard/src/segment_holder/mod.rs
Co-authored-by: Tim Visée <tim+github@visee.me >
* code review from mr.rabbit
---------
Co-authored-by: Tim Visée <tim+github@visee.me >
2025-09-12 18:40:09 +02:00
Tim Visée
160becbb46
Remove vectors_count ( #7244 )
...
* Remove deprecated vectors count from collection info
* Remove vectors count from shard info
* Update OpenAPI and gRPC spec
* Remove vectors count from example
2025-09-12 14:40:24 +02:00
Arnaud Gourlay
04d1c194e6
Fix RecommendExample conversion to support new format ( #7234 )
2025-09-11 17:36:29 +02:00
Roman Titov
a3ce716590
Fix deadlock during streaming shard snapshot ( #7241 )
...
* Add `test_shard_snapshot_deadlock` integration test
* Fix deadlock during streaming shard snapshot
2025-09-11 14:55:03 +02:00
xzfc
3c9e36fa0b
Limit concurrent calls to load_segment ( #7233 )
...
* Limit concurrent calls to `load_segment`
* Use StreamExt::buffer_unordered
2025-09-11 13:57:24 +02:00
xzfc
e5546dc385
Fix: config mismatch optimizer trigger loop ( #7242 )
2025-09-11 10:36:47 +02:00
Tim Visée
b29e59a871
Better immutable ID tracker load errors ( #7240 )
...
* Construct proper error when reading immutable ID tracker mapping fails
* Use new error builder for other use case too
* Even better error messages
2025-09-10 17:50:35 +02:00
dependabot[bot]
f833e10dd5
build(deps): bump thread-priority from 2.1.0 to 3.0.0 ( #7225 )
...
Bumps [thread-priority](https://github.com/iddm/thread-priority ) from 2.1.0 to 3.0.0.
- [Release notes](https://github.com/iddm/thread-priority/releases )
- [Changelog](https://github.com/iddm/thread-priority/blob/master/CHANGELOG.md )
- [Commits](https://github.com/iddm/thread-priority/commits/v3.0.0 )
---
updated-dependencies:
- dependency-name: thread-priority
dependency-version: 3.0.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-09 10:24:18 +02:00
Arnaud Gourlay
c05df46d8e
Fix missing gRPC API validations for PointsSelector ( #7221 )
2025-09-08 17:01:09 +02:00
Arnaud Gourlay
a45897568d
Fix missing REST API validations misc. ( #7220 )
...
* Fix missing REST API validations misc.
* add validation for deleted_threshold
* backport vacuum_min_vector_number validation from gRPC
2025-09-08 12:48:14 +02:00
Jojii
1e1d683391
Bump segment version on {delete,update,upsert}-by-filter requests ( #7157 )
...
* Bump segment versions on *-by-filter operations to acknowledge WAL
* Assert exactly one segment with the new operation version
* Review remarks
* Separate segment version number to not affect partial snapshots
* Adjust unit test
* Remove old bump_segment_version implementations
* Clarify max_persisted_segment_version_overwrite in flush_all
* Move trait implementations - Clippy
* Apply segment bumping to all *-by-filter functions
* Remove AtomicOptionU64
* Update function name and comments
* Remove max condition, start with overwrite value
* Add assertion, can never have zero segments
* Make max_persisted_segment_version_overwrite monotonic with fetch_max
---------
Co-authored-by: timvisee <tim@visee.me >
2025-09-05 14:29:14 +02:00
Arnaud Gourlay
dd30fce77f
Fix missing REST API Filter validations ( #7218 )
2025-09-05 13:53:18 +02:00
Arnaud Gourlay
3420311fd7
Fix missing API validation for MinShould ( #7217 )
2025-09-05 13:16:09 +02:00
Andrey Vasnetsov
852c58e689
make sure that grpc::Vector can always use new format ( #7185 )
...
* make sure that grpc::Vector can always use new format
* specify target version for ToDo
* Update lib/api/src/conversions/vectors.rs
---------
Co-authored-by: Luis Cossío <luis.cossio@outlook.com >
2025-09-05 13:13:06 +02:00
Andrey Vasnetsov
b39ff122fa
refactor matrix api to use query instead of deprecated search ( #7215 )
2025-09-04 21:19:35 -04:00
Arnaud Gourlay
83da3c4ee7
Bump http 0.2.12 ( #7212 )
...
* Bump http 0.2.12
* remove unused deps
2025-09-04 15:48:17 +02:00
Arnaud Gourlay
da44fc00af
Remove assertions for deleted version when propagating deletes ( #7162 )
2025-09-04 15:34:40 +02:00
Tim Visée
e1a9cb57ca
Add comment on why we do/don't share deleted points in proxies ( #7209 )
2025-09-04 14:27:28 +02:00
Tim Visée
ac1914227f
Unit test with proxy that propagates older delete to wrapped segment ( #7208 )
...
* Add unit test with proxy that propagates older delete to wrapped segment
* Link to pull request
* Disable faulty debug assertion, replace with comment noting semantics
* Minor tweaks
* Point version check in optimizer makes sense, assert no double segment
2025-09-04 14:25:48 +02:00
xzfc
3baa7d9d7d
HNSW: use new graph format during search ( #7195 )
...
* point_scorer: generic `Filters` -> non-generic `ScorerFilters`
point_scorer: rename FilteredQuantizedScorer -> FilteredBytesScorer
* Use ScorerFilters when appropriate
* {CustomQueryScorer,MetricQueryScorer}: SupportsBytes = True
* Add GraphLayersWithVectors::search_with_vectors
* Use GraphLayersWithVectors::search_with_vectors in HNSWIndex::search_with_graph
* Move `BoxCow` and `SimpleCow` to a common module
* Review remarks
2025-09-04 11:48:26 +00:00
xzfc
193306f2d7
Fixup remaining PeerId anonymization ( #7207 )
2025-09-04 09:54:39 +02:00
Ivan Pleshkov
33837423e9
Enable BQ in appendable segments ( #7145 )
...
* Create and load for an appendable quantization
remove feature flag
more todo
review remarks
review remarks
* fix after rebase
* Enable BQ in appendable segments
* remove const placeholder
* fix after rebase
* fix after rebase
* fix config mismatch optimizer
* fix sq infinity loop
* add comment
2025-09-03 13:56:32 +02:00
Roman Titov
6cb54ca380
Use Path instead of str in ConsensusWal::new ( #7205 )
2025-09-03 11:21:53 +02:00
xzfc
1e4a39a5a0
CompressedWithVectors: include base/full vectors ( #7171 )
...
* Add VectorStorageEnum::{get_vector_bytes_opt, get_vector_layout}
* Update CompressedWithVectors format to include base vectors
* StorageGraphLinksVectors
* Clarify code
2025-09-03 07:28:28 +00:00
Arnaud Gourlay
74a37e56be
Fix scroll lock ordering ( #7203 )
2025-09-02 13:28:21 +02:00
dependabot[bot]
db9b29aed9
build(deps): bump procfs from 0.17.0 to 0.18.0 ( #7200 )
...
Bumps [procfs](https://github.com/eminence/procfs ) from 0.17.0 to 0.18.0.
- [Release notes](https://github.com/eminence/procfs/releases )
- [Commits](https://github.com/eminence/procfs/compare/v0.17.0...v0.18.0 )
---
updated-dependencies:
- dependency-name: procfs
dependency-version: 0.18.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-09-02 13:20:16 +02:00
Arnaud Gourlay
60de32949e
Chain nested locks for proxy segments ( #7196 )
...
* Chain nested locks for proxy segments
* Remove get_cloned function on locked segment
---------
Co-authored-by: timvisee <tim@visee.me >
2025-09-02 12:54:12 +02:00
dependabot[bot]
d313d3c73c
build(deps): bump geo from 0.30.0 to 0.31.0 ( #7199 )
...
Bumps [geo](https://github.com/georust/geo ) from 0.30.0 to 0.31.0.
- [Changelog](https://github.com/georust/geo/blob/main/CHANGES.md )
- [Commits](https://github.com/georust/geo/compare/geo-0.30.0...geo-0.31.0 )
---
updated-dependencies:
- dependency-name: geo
dependency-version: 0.31.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-09-02 12:13:43 +02:00
dependabot[bot]
1985a15432
build(deps): bump actix-files from 0.6.6 to 0.6.7 ( #7198 )
...
Bumps [actix-files](https://github.com/actix/actix-web ) from 0.6.6 to 0.6.7.
- [Release notes](https://github.com/actix/actix-web/releases )
- [Changelog](https://github.com/actix/actix-web/blob/v0.6.7/CHANGES.md )
- [Commits](https://github.com/actix/actix-web/compare/v0.6.6...v0.6.7 )
---
updated-dependencies:
- dependency-name: actix-files
dependency-version: 0.6.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-09-02 12:06:48 +02:00
Ivan Pleshkov
2d1b92c16b
Create and load for an appendable quantization ( #7193 )
...
* Create and load for an appendable quantization
remove feature flag
more todo
review remarks
review remarks
* fix after rebase
* Rename is_appendable to supports_appendable
---------
Co-authored-by: timvisee <tim@visee.me >
2025-09-01 15:49:09 +02:00