Andrey Vasnetsov
75434ca565
implement all point update operation constructors ( #7424 )
2025-10-20 12:39:01 +02:00
Roman Titov
e01957a4ee
Move PlannedQuery and QueryScrollRequestInternal into shard crate ( #7417 )
2025-10-20 11:52:44 +02:00
Andrey Vasnetsov
56a9610e32
edge filter conversions ( #7423 )
...
* initial filter conversion structure
* implement match conditions
* implement range condition
* implement filter condition
* implement geo conditions
* fmt
* finish field conditions
* implement more conditions
* implement nested + expose python exports
* fix spelling
2025-10-20 10:36:12 +02:00
Andrey Vasnetsov
4c95682908
rollback pyvector implementation ( #7422 )
2025-10-19 19:06:13 +02:00
Tim Visée
b067a7b3f8
Minor Gridstore improvements ( #7415 )
...
* Explicitly use C memory representation for Gridstore value pointers
* Inline pure function
* Grow tracker file to be next multiple of two
* In debug builds, panic if getting out of bound point from Gridstore
* Also represent region gaps as C struct
* Remove debug assertion
* Adjust file size test
2025-10-17 13:59:03 +02:00
Andrey Vasnetsov
037c27200f
use mutex to ensure sequential segment flushed + await on drop ( #7416 )
2025-10-17 13:49:55 +02:00
Andrey Vasnetsov
c184ec8833
bump WAL commit ( #7413 )
2025-10-16 15:20:54 +02:00
eltu
aa0f49798e
Full-Text Index ASCII Folding (Normalization) ( #7408 )
...
* Add ASCII folding to tokenization process
Introduced an optional ASCII folding feature within the `TokensProcessor` to normalize non-ASCII characters to their ASCII equivalents. Updated tests and documentation to reflect the changes.
* Refactor tokenization code for improved readability and maintainability
Reorganized and reformatted the tokenization module, including `TokensProcessor` initialization and ASCII folding mappings for better clarity. Updated tests to align with the changes.
* Update test cases to reflect optional tokenizer settings changes
Adjusted `ascii_folding`, `lowercase`, and `phrase_matching` settings in tests to `None` where applicable, aligning with updates in tokenizer configuration defaults.
* address review remarks
* fix codespell
* thx coderabbit
* Don't copy tokens that are already ASCII
* Shrink folded string to fit
---------
Co-authored-by: Luis Cossío <luis.cossio@outlook.com >
Co-authored-by: timvisee <tim@visee.me >
2025-10-16 13:53:01 +02:00
xzfc
e640a78316
Refactor: merge _search_on_level into search_on_level ( #7403 )
...
* Call search_on_level instead of _search_on_level
* Inline _search_on_level into search_on_level
* Inline _search_on_level_with_vectors into search_on_level_with_vectors
2025-10-16 09:30:45 +00:00
Roman Titov
969cc82018
Move ShardQueryRequest into shard crate ( #7410 )
2025-10-15 16:38:22 +02:00
Luis Cossío
163222930d
Feedback query scorer ( #7359 )
...
* no manual impl for Serialize and Hash
* new feedback query
* construct query scorer
* simplify formula
* better comment
* make it easier to add other feedback formulas
* rename query -> target
* rename in async raw scorer
* rename formula -> strategy
* better comments
* rename to Simple strategy
* clippyyyyy
* oops, reenable conditional compilation
* Fundamental refactor to precompute pair score
* rename FeedbackScorer -> FeedbackQuery
This type implements `Query` trait, not `Scorer`.`
2025-10-15 10:31:18 -03:00
Roman Titov
6bbe27f8ec
Move FormulaInternal into shard crate ( #7409 )
2025-10-15 15:17:41 +02:00
Andrey Vasnetsov
05ee4d15c3
async update operation ( #7407 )
...
* make update worker async
* fix missing async signal send
* Simplify and flatten update worker internals
---------
Co-authored-by: timvisee <tim@visee.me >
2025-10-15 11:58:41 +02:00
Andrey Vasnetsov
0101822998
make flush worker loop async ( #7405 )
...
* make flush worker loop async
* await flush worker properly finishes
* simplify flush await
* Improved future select, inline return
---------
Co-authored-by: timvisee <tim@visee.me >
2025-10-15 11:23:43 +02:00
Andrey Vasnetsov
8b2d73ac19
address parallel flushing problem in snapshot creation ( #7404 )
...
* address parallel flushing problem in snapshot creation
* explicit flush in test
2025-10-14 18:28:25 +02:00
Andrey Vasnetsov
b8590a9a24
single thread flush ( #7388 )
...
* flush all segments in one thread sequentially
* bonus: move flush-related functions into dedicated file
* Minor comment tweaks
* await for flush on segment holder level
* fmt
* Minor improvement, preallocate vector for payload index flushers
* Remove invalid comment
---------
Co-authored-by: timvisee <tim@visee.me >
2025-10-14 16:39:28 +02:00
Andrey Vasnetsov
5abb9ead76
add test for shard recovery after partial flush ( #7402 )
...
* add test for shard recovery after partial flush
* force flush with explicit fucntion
* Stop flush worker before explicitly flushing again
---------
Co-authored-by: timvisee <tim@visee.me >
2025-10-14 16:35:48 +02:00
Andrey Vasnetsov
02de826748
fix segment repair on load ( #7400 )
...
* fix segment repair on load
* workaround for rocksdb
* Minor comment tweaks
* In in memory ID tracker, unset version first before dropping mapping
* rename cleanup_versions into fix inconsistencies
---------
Co-authored-by: timvisee <tim@visee.me >
2025-10-14 14:06:50 +02:00
xzfc
10ebd1851d
Use fs_err::exists and fs_err::tokio::try_exists ( #7401 )
2025-10-14 09:16:55 +00:00
dependabot[bot]
03c1b607ad
build(deps): bump jsonwebtoken from 9.3.1 to 10.0.0 ( #7397 )
...
* build(deps): bump jsonwebtoken from 9.3.1 to 10.0.0
Bumps [jsonwebtoken](https://github.com/Keats/jsonwebtoken ) from 9.3.1 to 10.0.0.
- [Changelog](https://github.com/Keats/jsonwebtoken/blob/master/CHANGELOG.md )
- [Commits](https://github.com/Keats/jsonwebtoken/compare/v9.3.1...v10.0.0 )
---
updated-dependencies:
- dependency-name: jsonwebtoken
dependency-version: 10.0.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
* Bump jsonwebtoken to 10.0, use rust_crypto backend
* Fix deprecation warning
---------
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-10-14 10:49:50 +02:00
dependabot[bot]
6e1b7c1040
build(deps): bump half from 2.6.0 to 2.7.0 ( #7395 )
...
* build(deps): bump half from 2.6.0 to 2.7.0
Bumps [half](https://github.com/VoidStarKat/half-rs ) from 2.6.0 to 2.7.0.
- [Release notes](https://github.com/VoidStarKat/half-rs/releases )
- [Changelog](https://github.com/VoidStarKat/half-rs/blob/main/CHANGELOG.md )
- [Commits](https://github.com/VoidStarKat/half-rs/compare/v2.6.0...v2.7.0 )
---
updated-dependencies:
- dependency-name: half
dependency-version: 2.7.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
* Zerocopy feature is deprecated
---------
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-10-14 10:38:31 +02:00
dependabot[bot]
00ca74f26f
build(deps): bump reqwest from 0.12.23 to 0.12.24 ( #7394 )
...
Bumps [reqwest](https://github.com/seanmonstar/reqwest ) from 0.12.23 to 0.12.24.
- [Release notes](https://github.com/seanmonstar/reqwest/releases )
- [Changelog](https://github.com/seanmonstar/reqwest/blob/master/CHANGELOG.md )
- [Commits](https://github.com/seanmonstar/reqwest/compare/v0.12.23...v0.12.24 )
---
updated-dependencies:
- dependency-name: reqwest
dependency-version: 0.12.24
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-10-14 10:22:40 +02:00
dependabot[bot]
0731705ab8
build(deps): bump cc from 1.2.40 to 1.2.41 ( #7392 )
...
Bumps [cc](https://github.com/rust-lang/cc-rs ) from 1.2.40 to 1.2.41.
- [Release notes](https://github.com/rust-lang/cc-rs/releases )
- [Changelog](https://github.com/rust-lang/cc-rs/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/cc-rs/compare/cc-v1.2.40...cc-v1.2.41 )
---
updated-dependencies:
- dependency-name: cc
dependency-version: 1.2.41
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-10-14 09:58:47 +02:00
dependabot[bot]
c6b1cda715
build(deps): bump sysinfo from 0.37.1 to 0.37.2 ( #7391 )
...
Bumps [sysinfo](https://github.com/GuillaumeGomez/sysinfo ) from 0.37.1 to 0.37.2.
- [Changelog](https://github.com/GuillaumeGomez/sysinfo/blob/master/CHANGELOG.md )
- [Commits](https://github.com/GuillaumeGomez/sysinfo/compare/v0.37.1...v0.37.2 )
---
updated-dependencies:
- dependency-name: sysinfo
dependency-version: 0.37.2
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-10-14 09:46:44 +02:00
dependabot[bot]
662bc35fef
build(deps): bump clap from 4.5.48 to 4.5.49 ( #7396 )
...
Bumps [clap](https://github.com/clap-rs/clap ) from 4.5.48 to 4.5.49.
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/clap_complete-v4.5.48...clap_complete-v4.5.49 )
---
updated-dependencies:
- dependency-name: clap
dependency-version: 4.5.49
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-10-13 17:20:30 -03:00
dependabot[bot]
64cbe3714f
build(deps): bump slog from 2.8.0 to 2.8.2 ( #7398 )
...
Bumps [slog](https://github.com/slog-rs/slog ) from 2.8.0 to 2.8.2.
- [Release notes](https://github.com/slog-rs/slog/releases )
- [Changelog](https://github.com/slog-rs/slog/blob/master/CHANGELOG.md )
- [Commits](https://github.com/slog-rs/slog/compare/v2.8.0...v2.8.2 )
---
updated-dependencies:
- dependency-name: slog
dependency-version: 2.8.2
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-10-13 17:19:36 -03:00
dependabot[bot]
d5072d1363
build(deps): bump parking_lot from 0.12.4 to 0.12.5 ( #7393 )
2025-10-13 20:18:11 +00:00
Kumar Shivendu
c0f580bddd
Shard key initial state ( #7371 )
...
* Allow specifying initial state while creating shard key
* Dont wait for Active state if initial_state is set
* Generate gRPC docs and OpenAPI spec
* Apply suggestions
* Skip from scheamrs not serde
* Add integration test
* minor suggestions
2025-10-13 17:58:34 +05:30
Tim Visée
b9243c5af4
Forbid peer to join cluster with URI that is already used ( #7375 )
...
* Disallow peer to join with URI that is already used
* Add test for rejecting peer join with duplicate URI
* Improve peer rejection logic
* Try to rejoin twice, we expect a consistent result
2025-10-13 12:32:51 +02:00
xzfc
95b4bbf978
Rename HnswConfig::{copy_vectors -> inline_storage} ( #7389 )
2025-10-13 10:08:06 +00:00
Daniel Boros
3c6f26eced
feat: handle 429 properly on infer svc ( #7377 )
...
* feat: handle 429 properly
* feat: change to rate limit error
* feat: handle http_date
* chore: remove unsued imports
* chore: make it more readable
2025-10-13 11:04:53 +02:00
tellet-q
cdae750d0b
Log shard transfer abort during consensus recovery ( #7373 )
...
* Add log line about aborting transfer during consensus recovery
2025-10-13 08:55:22 +02:00
Roman Titov
e7fe24bb1b
More type conversion for Qdrant on Edge Python bindings ( #7372 )
...
* Cleanup `edge::Shard::retrieve`
* Cleanup Python errors
* Cleanup `PointId` conversions
* Rename `ids` into `point_ids` in `PyShard::retrieve`
* WIP: Prototype native conversions for more types
2025-10-10 19:56:05 +02:00
Tim Visée
da5e5cd42d
In Gridstore, also populate the tracker file ( #7385 )
2025-10-10 13:15:11 -03:00
Ivan Boldyrev
4a732a105d
Docker build parameters ( #7370 )
...
* Add ARG `TARGET_CPU` to Dockerfile
* Add ARG `JEMALLOC_SYS_WITH_LG_PAGE` to Dockerfile
It allows redefining jemalloc's page size for image targeting specific
ARM machines.
Refs #3831 .
* Document Docker build parameters
2025-10-10 16:35:45 +07:00
Roman Titov
8141173029
Type conversions into native Python types for Qdrant on Edge ( #7367 )
...
* Cleanup README.md
* Rename `PyResult` into `Result`
* Rename `interface` module into `types` and simplify imports
`wildcard::goes::brrr::*`
* Add `PointId` conversion
* Add `Payload` conversion
* fixup! Add `Payload` conversion
Avoid cloning `Payload` for output conversion
* fixup! Add `PointId` conversion
Fix example
* review fixes #1 : fix uuid parsing, avoid .into, use custom types
* review fixes #2 : rewrite point id to avoid chain if
* review fixes #3 : allow ot use uuid + remove comment
---------
Co-authored-by: Andrey Vasnetsov <andrey@vasnetsov.com >
2025-10-09 19:19:56 +02:00
Andrey Vasnetsov
34596530d1
remove default explicit config for strict mode ( #7369 )
...
* remove default explicit config for strict mode
* Don't prefix commented out properties with space to remain consistent
* Don't crash test if strict mode config is not set at all
---------
Co-authored-by: timvisee <tim@visee.me >
2025-10-09 12:00:01 +02:00
Arnaud Gourlay
a24d380ee0
Investigate flaky snapshot transfer test ( #7339 )
2025-10-09 10:47:23 +02:00
Arnaud Gourlay
fe94fdc5ce
Bump Python 3.13 on CI ( #7365 )
...
* Bump Python 3.13 on CI
* Regenerate tls certificates
---------
Co-authored-by: tellet-q <elena.dubrovina@qdrant.com >
2025-10-08 12:50:34 +02:00
Arnaud Gourlay
1fcb7a2139
Test continuous snapshot data loss ( #7308 )
...
* Continuous snapshot data loss
* assert vector & payload are present
2025-10-08 12:20:44 +02:00
tellet-q
c3ca182423
Refactor bash tests: storage-compatibility ( #7299 )
...
* Add e2e test for compatibility
2025-10-08 08:33:55 +02:00
Andrey Vasnetsov
8dd915c0b1
non appendable proxies ( #7345 )
...
* WIP: make proxy segment non-appendable
* make deleted points and index changes private to Proxy Segment
* consistently remove empty unused segment from holder on unproxifying and the end of optimization
* remove/fix obsolete test
* Fix comment, some general adjustments
* Also don't remove non-original segments
* Use ahash for map of proxy index changes
* Inline format arguments
* Simplify has point branching
* Assert that proxy flushes to latest wrapped segment version
* make vector deletetion a CoW operation
* relax debug assertions
* Update lib/shard/src/proxy_segment/mod.rs
* fix test_partial_snapshot_empty
---------
Co-authored-by: timvisee <tim@visee.me >
Co-authored-by: Tim Visée <tim+github@visee.me >
2025-10-08 00:19:41 +02:00
Tim Visée
a1efafbbf3
Only wait for green collection status in empty snapshot test ( #7360 )
2025-10-07 18:12:59 +02:00
Tim Visée
3856ff6bdb
Before doing actual partial snapshot tests, wait for green status ( #7358 )
2025-10-07 15:57:46 +02:00
Arnaud Gourlay
a0645c7319
Use AHash for ShardId HashMap ( #7357 )
2025-10-07 12:11:53 +02:00
dependabot[bot]
a9c6bd50ff
build(deps): bump cc from 1.2.39 to 1.2.40 ( #7352 )
...
Bumps [cc](https://github.com/rust-lang/cc-rs ) from 1.2.39 to 1.2.40.
- [Release notes](https://github.com/rust-lang/cc-rs/releases )
- [Changelog](https://github.com/rust-lang/cc-rs/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/cc-rs/compare/cc-v1.2.39...cc-v1.2.40 )
---
updated-dependencies:
- dependency-name: cc
dependency-version: 1.2.40
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-10-07 10:36:21 +02:00
dependabot[bot]
388b733ad3
build(deps): bump fs-err from 3.1.2 to 3.1.3 ( #7353 )
...
Bumps [fs-err](https://github.com/andrewhickman/fs-err ) from 3.1.2 to 3.1.3.
- [Changelog](https://github.com/andrewhickman/fs-err/blob/main/CHANGELOG.md )
- [Commits](https://github.com/andrewhickman/fs-err/compare/3.1.2...3.1.3 )
---
updated-dependencies:
- dependency-name: fs-err
dependency-version: 3.1.3
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-10-07 10:36:14 +02:00
dependabot[bot]
15f1320709
build(deps): bump config from 0.15.17 to 0.15.18 ( #7355 )
...
Bumps [config](https://github.com/rust-cli/config-rs ) from 0.15.17 to 0.15.18.
- [Changelog](https://github.com/rust-cli/config-rs/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-cli/config-rs/compare/v0.15.17...v0.15.18 )
---
updated-dependencies:
- dependency-name: config
dependency-version: 0.15.18
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-10-07 09:37:11 +02:00
dependabot[bot]
5879c2950f
build(deps): bump ordered-float from 5.0.0 to 5.1.0 ( #7348 )
...
Bumps [ordered-float](https://github.com/reem/rust-ordered-float ) from 5.0.0 to 5.1.0.
- [Release notes](https://github.com/reem/rust-ordered-float/releases )
- [Commits](https://github.com/reem/rust-ordered-float/compare/v5.0.0...v5.1.0 )
---
updated-dependencies:
- dependency-name: ordered-float
dependency-version: 5.1.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-10-07 09:36:52 +02:00
dependabot[bot]
5b85810a6b
build(deps): bump tempfile from 3.22.0 to 3.23.0 ( #7351 )
...
Bumps [tempfile](https://github.com/Stebalien/tempfile ) from 3.22.0 to 3.23.0.
- [Changelog](https://github.com/Stebalien/tempfile/blob/master/CHANGELOG.md )
- [Commits](https://github.com/Stebalien/tempfile/compare/v3.22.0...v3.23.0 )
---
updated-dependencies:
- dependency-name: tempfile
dependency-version: 3.23.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-10-07 09:36:15 +02:00