Commit Graph
5450 Commits
Author SHA1 Message Date
tellet-q 86775709f2 Upgrade pyroscope to 0.5.9 (jemalloc signal-safety fix) (#8225) 2026-03-26 17:16:19 +01:00
krapcys1-makerandlocal-user 119530f369 fix(rest): expose HTTP transport timeout controls for persistent clients (#8220)
* fix(rest): expose HTTP transport timeout controls for persistent clients

* chore(rest): address transport timeout nitpick comments

* chore(config): remove HTTP transport timeout keys from default config

---------

Co-authored-by: local-user <local-user@local>
2026-03-26 17:16:13 +01:00
Arnaud Gourlay 6c3fde99e5 Remove unused dependencies (#8226) 2026-03-26 17:12:43 +01:00
krapcys1-maker 1e1da031b7 [snapshot] Avoid leaving replicas in recovery state when shard data is absent (#8179)
* snapshot

* snapshot recovery: remove stale state read in revert guard
2026-03-26 17:11:38 +01:00
krapcys1-makerandlocal-user c09b103410 fix(collection): close snapshot checksum file before reading (#8219)
Co-authored-by: local-user <local-user@local>
2026-03-26 17:10:12 +01:00
dependabot[bot]andtimvisee a7739dbf2d build(deps): bump rand_distr from 0.5.1 to 0.6.0 (#8148)
* build(deps): bump rand_distr from 0.5.1 to 0.6.0

Bumps [rand_distr](https://github.com/rust-random/rand_distr) from 0.5.1 to 0.6.0.
- [Release notes](https://github.com/rust-random/rand_distr/releases)
- [Changelog](https://github.com/rust-random/rand_distr/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-random/rand_distr/compare/0.5.1...0.6.0)

---
updated-dependencies:
- dependency-name: rand_distr
  dependency-version: 0.6.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Migrate main code base to rand 0.10

* Migrate tests

* Migrate benches

---------

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>
2026-03-26 17:09:49 +01:00
tellet-q d36ebb2a6a Upgrade reqwest to 0.13 and install ring as default rustls CryptoProvider (#8213)
* Upgrade reqwest to 0.13 and install ring as default rustls CryptoProvider

* Do not compile aws-lc-rs

* Update tests

* Revert changes
2026-03-26 17:09:43 +01:00
krapcys1-makerandlocal-user d54a212b68 fix(collection): stabilize hw metrics cancellation test (#8218)
Co-authored-by: local-user <local-user@local>
2026-03-26 17:08:23 +01:00
Luis CossíoandTim Visée 26f174c2ab Fix unused self lint in macos (#8215)
* expect unused self

* Update lib/wal/src/mmap_view_sync.rs

Co-authored-by: Tim Visée <tim+github@visee.me>

---------

Co-authored-by: Tim Visée <tim+github@visee.me>
2026-03-26 17:03:27 +01:00
Luis Cossío 4f53097be2 use UniversalRead in ImmutableDenseVectors (#8210)
* use UniversalRead in ImmutableDenseVectors

...renamed from MmapDenseVectors

* remove madvise arg

* async_raw_scorer
2026-03-26 17:02:31 +01:00
xzfc 3fa476865b Single edge crate (#8173)
* Fixups of amalgamator

Fix issues that break `qdrant-edge` build process:
- `use … as segment;` - this causes `ast-grep` rules to replace wrong
  paths. So, rename to avoid collisions.
- `#[macro_use]` and `extern crate` required be in the top-level
  `lib.rs`.
- `format!("…", crate::something::…)` - `ast-grep` can't fix paths
  inside macros. Fixed by moving `crate::something::…` out of the macro.

* Add lib/edge/publish workspace and amalgamation script

* Move `lib/edge/examples` into `lib/edge/publish/` workspace

And fix them to use the generated `qdrant-edge` crate.

* Add github workflow

* Cleanup `qdrant-edge` public API

Removes empty modules. Checked by `cargo doc`.
2026-03-26 17:02:24 +01:00
Ivan Pleshkov e2b6ad14d4 remove rocksdb from gpu tests (#8211) 2026-03-26 17:02:19 +01:00
tellet-q 506b69297f Add test for snapshot backpressure freeze (#8197)
* Add test for snapshot backpressure freeze
2026-03-26 17:02:10 +01:00
dependabot[bot] 87bc332475 build(deps): bump strum from 0.27.2 to 0.28.0 (#8202)
Bumps [strum](https://github.com/Peternator7/strum) from 0.27.2 to 0.28.0.
- [Release notes](https://github.com/Peternator7/strum/releases)
- [Changelog](https://github.com/Peternator7/strum/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Peternator7/strum/compare/v0.27.2...v0.28.0)

---
updated-dependencies:
- dependency-name: strum
  dependency-version: 0.28.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>
2026-03-26 17:02:05 +01:00
Andrey VasnetsovandLuis Cossío 82f387791d universal io mmap (#8196)
* [manunal] WIP: universal mmap interface

* [AI + manual]  implement proper error handelling, with `thiserror` instead of `pub type
  UniversalIoError = std::io::Error;` and implement all `todo!()` in MmapUniversal

* [AI]  implement UniversalWrite for MmapUniversal

* review fix: error wording

* review nits

---------

Co-authored-by: Luis Cossío <luis.cossio@outlook.com>
2026-03-26 17:00:34 +01:00
Andrey Vasnetsov 32bee6d080 do not replicate shard by default if custom initial state is used (#8193) 2026-03-26 16:58:42 +01:00
Ivan Boldyrev 469b5112b5 Use IdTrackerEnum type instead of dyn IdTracker (#8168)
* Use `IdTrackerEnum` type instead of `dyn IdTracker`

It would allow to be more flexible on the IdTracker trait, making it
dyn-incompatible eventually.

Coauthored with Claude Code.

* Review fixes
2026-03-26 16:58:22 +01:00
dependabot[bot] 0a4777c9c5 build(deps): bump env_logger from 0.11.8 to 0.11.9 (#8203)
Bumps [env_logger](https://github.com/rust-cli/env_logger) from 0.11.8 to 0.11.9.
- [Release notes](https://github.com/rust-cli/env_logger/releases)
- [Changelog](https://github.com/rust-cli/env_logger/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rust-cli/env_logger/compare/v0.11.8...v0.11.9)

---
updated-dependencies:
- dependency-name: env_logger
  dependency-version: 0.11.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>
2026-03-26 16:58:12 +01:00
dependabot[bot] 1156c60cb9 build(deps): bump actix-web from 4.12.1 to 4.13.0 (#8201)
Bumps [actix-web](https://github.com/actix/actix-web) from 4.12.1 to 4.13.0.
- [Release notes](https://github.com/actix/actix-web/releases)
- [Changelog](https://github.com/actix/actix-web/blob/main/CHANGES.md)
- [Commits](https://github.com/actix/actix-web/compare/web-v4.12.1...web-v4.13.0)

---
updated-dependencies:
- dependency-name: actix-web
  dependency-version: 4.13.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>
2026-03-26 16:58:07 +01:00
dependabot[bot] 86ae3644db build(deps): bump serial_test from 3.3.1 to 3.4.0 (#8204)
Bumps [serial_test](https://github.com/palfrey/serial_test) from 3.3.1 to 3.4.0.
- [Release notes](https://github.com/palfrey/serial_test/releases)
- [Commits](https://github.com/palfrey/serial_test/compare/v3.3.1...v3.4.0)

---
updated-dependencies:
- dependency-name: serial_test
  dependency-version: 3.4.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>
2026-03-26 16:57:44 +01:00
dependabot[bot] f8daf2dfe2 build(deps): bump anyhow from 1.0.101 to 1.0.102 (#8206)
Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.101 to 1.0.102.
- [Release notes](https://github.com/dtolnay/anyhow/releases)
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.101...1.0.102)

---
updated-dependencies:
- dependency-name: anyhow
  dependency-version: 1.0.102
  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>
2026-03-26 16:57:09 +01:00
dependabot[bot] 75352fd610 build(deps): bump syn from 2.0.116 to 2.0.117 (#8205)
Bumps [syn](https://github.com/dtolnay/syn) from 2.0.116 to 2.0.117.
- [Release notes](https://github.com/dtolnay/syn/releases)
- [Commits](https://github.com/dtolnay/syn/compare/2.0.116...2.0.117)

---
updated-dependencies:
- dependency-name: syn
  dependency-version: 2.0.117
  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>
2026-03-26 16:57:02 +01:00
dependabot[bot] 40340d22d6 build(deps): bump memmap2 from 0.9.9 to 0.9.10 (#8207)
Bumps [memmap2](https://github.com/RazrFalcon/memmap2-rs) from 0.9.9 to 0.9.10.
- [Changelog](https://github.com/RazrFalcon/memmap2-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/RazrFalcon/memmap2-rs/compare/v0.9.9...v0.9.10)

---
updated-dependencies:
- dependency-name: memmap2
  dependency-version: 0.9.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>
2026-03-26 16:56:56 +01:00
dependabot[bot] 3c70423e0b build(deps): bump pyo3 from 0.28.1 to 0.28.2 (#8208)
Bumps [pyo3](https://github.com/pyo3/pyo3) from 0.28.1 to 0.28.2.
- [Release notes](https://github.com/pyo3/pyo3/releases)
- [Changelog](https://github.com/PyO3/pyo3/blob/main/CHANGELOG.md)
- [Commits](https://github.com/pyo3/pyo3/compare/v0.28.1...v0.28.2)

---
updated-dependencies:
- dependency-name: pyo3
  dependency-version: 0.28.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>
2026-03-26 16:56:52 +01:00
Luis Cossío efd2c4f0c9 add unzip to shell.nix (#8200)
* add `unzip` to deps

* sort
2026-03-26 16:56:43 +01:00
Andrey Vasnetsov eb78250861 [AI] do not extend file before write (#8195) 2026-03-26 16:56:37 +01:00
xzfc bc838f6aa9 Use qdrant-rust-stemmers from crates.io (#8199) 2026-03-26 16:56:05 +01:00
Ivan Pleshkov 9fe0c2cdd6 Gridstore non-blocking flush (#8188)
* gridstore unblocked flush

* review remarks
2026-03-26 16:55:37 +01:00
krapcys1-maker 648bca2367 gpu: use c_char pointers for Vulkan names (#8177) 2026-03-26 16:54:16 +01:00
xzfc 8fb7adea98 Move github.com/qdrant/wal into lib/wal (#8185)
* Copy github.com/qdrant/wal into lib/wal

Commit: c07fb56ebc8120ebe4e3c602d31ce98f356f4676 2026-02-18

* Clean cruft

* Integrate lib/wal into workspace

* Cargo fmt

* Fix clippy warnings

* Adhere to our conventions

* Fix codespell warnings
2026-03-26 16:53:55 +01:00
Roman Titov de9b4d766a Universal I/O (#8183)
* WIP: `UniversalRead`/`UniversalWrite` traits

* fixup! WIP: `UniversalRead`/`UniversalWrite` traits

Relax `Sized` requirement on `UniversalRead`
2026-03-26 16:53:48 +01:00
Roman Titov f4b19411f4 Expose field index operations in qdrant-edge-py (#8187) 2026-03-26 16:53:43 +01:00
Arnaud Gourlay 34dcaa5c16 Fix Docker build for local compatibility tests (#8191) 2026-03-26 16:53:37 +01:00
Arnaud Gourlay c0323bbdf9 Storage compatibility v1.17.0 (#8189) 2026-03-26 16:52:37 +01:00
Roman Titov 05aded71c8 Use FsType::ExFat on non-Linux, so that Rust won't complain (#8186) 2026-03-26 16:52:29 +01:00
Daniel Boros 0be340cdd2 refactor/opt (#8065)
* refactor: opt system

* feat: move tracker seperately

* feat: migrate opt logic to shards

* feat: add OptStrategy trait

* fix: missing drop

* fix: linter error

* fix: clippy errors

* fix: linter error

* fix: missing fns

* fix: linter

* fix: missing import

* fix: missing import

* fix: schema_gen imports

* chore: remove comment

* feat: add missing comments

* feat: restore optimize_segment_propagate_changes fn

* chore: move fs4 to workspace deps

* fix: compiler error

* chore: add import fixes

* feat: move optimzers to shard

* fix: clippy errors

* chore: restore tests and adjust them

* fix: linter issues

* fix: linter issue

* fix: remove CollectionResult where call is infallible

* fix: comment
2026-03-26 16:51:37 +01:00
Tim Visée 09f87abbd8 Include RocksDB support in Linux binaries we release on GitHub (#8181) 2026-02-19 17:40:54 +01:00
Tim Visée 4ab6d2ee0f Bump version to 1.17.0 (#8160)
* Bump version to 1.17.0

* Update missed cherry picks

* Add OpenAPI spec for v1.17.x
v1.17.0
2026-02-19 13:35:11 +01:00
Arnaud Gourlay 38b5a9aaf0 Optimize HNSW plain-search filtered allocation (#8175)
* Optimize HNSW plain-search filtered allocation

* keep comment
2026-02-19 10:59:13 +01:00
Andrey Vasnetsov 9152fbd206 missing timeout for payload index ops (#8176) 2026-02-19 10:59:10 +01:00
Tim Visée 9f433b174a WAL: advise mmap to cleanup closed segments (#8164) 2026-02-18 17:21:06 +01:00
Andrey VasnetsovandLuis Cossío da98a8eec4 Untagged Enum for FeedbackStrategy (#8171)
* [manual] make untagged enum for consistent API for FeedbackStrategy

* add #[validate(nested)]

---------

Co-authored-by: Luis Cossío <luis.cossio@outlook.com>
2026-02-18 17:21:06 +01:00
Tim Visée 322db560f1 Don't lock Gridstore bitmask for full duration of flush (#8169) 2026-02-18 17:21:06 +01:00
Arnaud Gourlay a34474a525 Log peer version failing check (#8170)
* Log peer version failing check

* log peers without metadata

* please the rabbit
2026-02-18 17:21:06 +01:00
Leo Henonandleohenon 2c1182542c Fix lossy error propagation in consensus (#8156)
Co-authored-by: leohenon <77656081+lhenon999@users.noreply.github.com>
2026-02-18 17:21:05 +01:00
Leo Henonandleohenon 35d84709f9 Fix flaky test_cancel_optimization (#8159)
Co-authored-by: leohenon <77656081+lhenon999@users.noreply.github.com>
2026-02-18 17:21:05 +01:00
Andrey Vasnetsov d713ab7be1 Timeout for snapshot stream (#8166)
* [AI] Imeplement timeout for reading snapshot stream

* remove debug code

* [no-AI] fix error type and cancellation test(not the one which actually found the problem)
2026-02-18 11:22:58 +01:00
Tim Visée 8fca0e9d4b Also bump prevent_unoptimized parameter in update handler (#8165) 2026-02-17 17:42:15 +01:00
Arnaud Gourlay 0d9db0ea05 Optimize process search results (#8163) 2026-02-17 17:42:11 +01:00
xzfc 66d0c36009 Merge io and memory into common (#8155)
* Unify parking_lot/arc_lock feature

* Move lib/common/{io,memory}/* -> lib/common/common/*

- Mmap-related items are grouped into `common::mmap` sub-module:
  - `memory/src/chunked_utils.rs`      -> `common/src/mmap/chunked.rs`
  - `memory/src/madvise.rs`            -> `common/src/mmap/advice.rs`
  - `memory/src/mmap_ops.rs`           -> `common/src/mmap/ops.rs`
  - `memory/src/mmap_type_readonly.rs` -> `common/src/mmap/mmap_readonly.rs`
  - `memory/src/mmap_type.rs`          -> `common/src/mmap/mmap_rw.rs`
- Filesystem-related items are grouped into `common::fs` sub-module:
  - `common/src/fs.rs`          -> `common/src/fs/sync.rs`
  - `io/src/file_operations.rs` -> `common/src/fs/ops.rs`
  - `io/src/move_files.rs`      -> `common/src/fs/move.rs`
  - `io/src/safe_delete.rs`     -> `common/src/fs/safe_delete.rs`
  - `memory/src/checkfs.rs`     -> `common/src/fs/check.rs`
  - `memory/src/fadvise.rs`     -> `common/src/fs/fadvise.rs`
- Rest is moved straight into `common`:
  - `io/src/storage_version.rs` -> `common/src/storage_version.rs`

The old `io` and `memory` are now hollow crates that re-export items
from `common`. These hollow crates will be removed in next commits.

* Replace uses of `io` and `memory` with new paths in `common`

Since `io` and `memory` are just re-exports of `common`, these
replacements are no-op.

* Remove `io` and `memory` crates
2026-02-17 11:01:14 +01:00