Commit Graph

2207 Commits

Author SHA1 Message Date
Jojii
b94d02ad30 Add error handling if vector is missing for point (#5211)
* add error handling for missing vectors

* add integration test

* add call without specifying 'using' parameter
2024-10-10 12:48:34 +02:00
Arnaud Gourlay
29df805470 Fix typo in RocksDB wrapper type (#5207) 2024-10-09 14:18:32 +02:00
Kumar Shivendu
f7b6148242 Dont consider resharding shards as unhealthy for /readyz (#5204)
* Dont consider resharding shards as unhealthy for /readyz

* clippy
2024-10-09 11:14:24 +02:00
Andrey Vasnetsov
e0d507dac7 Inference interface in REST and gRPC (#5165)
* include document & image objects into grpc API

* introduce image and object to rest api

* minor refactoring

* rename Vector -> VectorInternal

* decompose vector data structures

* add schema

* fmt

* grpc docs

* fix conversion

* fix clippy

* fix another conversion

* rename VectorInput -> VectorInputInternal

* replace grpc TryFrom with async functions

* fmt

* replace rest TryFrom with async functions

* add image and object into query rest

* separate inference related conversions

* move json-related conversions into a separate file

* move vector-related transformations into a separate file

* move more vector related-conversions into dedicated module
2024-10-09 10:15:46 +02:00
Tim Visée
082274bd68 Add wait parameter to cluster metadata API (#5174)
* Add blocking implementation of update cluster metadata

* Expose wait parameter to cluster metadata API

* Refactor shard transfer dispatcher into toc dispatcher

* Reformat
2024-10-08 13:03:59 +02:00
dependabot[bot]
e0b5968677 build(deps): bump sysinfo from 0.31.4 to 0.32.0 (#5197)
Bumps [sysinfo](https://github.com/GuillaumeGomez/sysinfo) from 0.31.4 to 0.32.0.
- [Changelog](https://github.com/GuillaumeGomez/sysinfo/blob/master/CHANGELOG.md)
- [Commits](https://github.com/GuillaumeGomez/sysinfo/compare/v0.31.4...v0.32.0)

---
updated-dependencies:
- dependency-name: sysinfo
  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>
2024-10-08 09:31:32 +02:00
dependabot[bot]
42eecc3ac4 build(deps): bump procfs from 0.16.0 to 0.17.0 (#5193)
Bumps [procfs](https://github.com/eminence/procfs) from 0.16.0 to 0.17.0.
- [Release notes](https://github.com/eminence/procfs/releases)
- [Commits](https://github.com/eminence/procfs/compare/v0.16.0...v0.17.0)

---
updated-dependencies:
- dependency-name: procfs
  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>
2024-10-08 09:30:07 +02:00
Andrey Vasnetsov
f5cc150dca enable mmap vector storage by default (#5188) 2024-10-07 17:09:52 +02:00
Ivan Pleshkov
080352cc56 mmap geo index api (#5163)
* define mmap geo index

fix compilation

deleted flags

load new mmap

geo index tests

fix tests

fix build after rebase

add files list

* refactor get_stored_sub_regions output type

* review remanings

* mmap geo index api

* fix after rebase
2024-10-07 14:35:17 +02:00
Ivan Pleshkov
e00bd70f9c Mmap geo index (#4841)
* define mmap geo index

fix compilation

deleted flags

load new mmap

geo index tests

fix tests

fix build after rebase

add files list

* are you happy fmt

* refactor get_stored_sub_regions output type

* repr(C) for geohash

* Replace manual flattening with flat map iterator

* review remanings

* remove panics

* add files for snapshot

* rename Dynamic into InMemory

* are you happy fmt

* review renames

* Use copied rather than cloned

* minor review refactoring + comments

---------

Co-authored-by: timvisee <tim@visee.me>
Co-authored-by: generall <andrey@vasnetsov.com>
2024-10-07 12:08:58 +02:00
Andrey Vasnetsov
e76132b6e7 enable sparse snapshots (#5183) 2024-10-06 17:50:54 +02:00
Jojii
b210c3d09e Improve docs for new_unchecked_verification_pass (#5181) 2024-10-04 23:27:35 +02:00
xzfc
761069bc0a Restore SnapshotFormat::Streamable snapshots (#5179) 2024-10-04 16:39:56 +00:00
xzfc
98c4e605ae Support SnapshotFormat::Streamable, add REST endpoint (#5178) 2024-10-04 16:36:19 +00:00
xzfc
bc2104604c Introduce SnapshotFormat (#5175) 2024-10-04 16:09:30 +00:00
xzfc
7932286709 Update tar_ext::BuilderExt (#5112)
* tar_ext::BuilderExt: generalize and add drop workaround

- Generalize: instead of taking `std::fs::File`, take
  `impl Write + Seek`.
- Add a workaround for drop: `tar::Builder<W>::drop` might panic if the
  underlying writer panics when using in async context.

* Drop unnecessary write_fn usage

* tar_ext::BuilderExt: support both seekable and streaming variants

* tar_ext::BuilderExt: support both owned/borrowed variants
2024-10-04 14:10:09 +00:00
Tim Visée
d578c428a5 When removing a shard, remove its configuration file first (#5176) 2024-10-04 12:10:28 +02:00
Tim Visée
e2dfa6d78e Fix panic on start if resharding shard is partially created (#5169)
* Reuse shard path if it already exists

* Recreate rather than reuse shard directory
2024-10-02 11:22:17 +02:00
Luis Cossío
045779233a Facets: Support for bool payload (#5100)
* enable faceting with boolean index

* test and fix

* also test uuid
2024-10-01 09:17:50 -03:00
dependabot[bot]
86de9fadc2 build(deps): bump flate2 from 1.0.33 to 1.0.34 (#5157)
Bumps [flate2](https://github.com/rust-lang/flate2-rs) from 1.0.33 to 1.0.34.
- [Release notes](https://github.com/rust-lang/flate2-rs/releases)
- [Changelog](https://github.com/rust-lang/flate2-rs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/flate2-rs/compare/1.0.33...1.0.34)

---
updated-dependencies:
- dependency-name: flate2
  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>
2024-10-01 10:42:16 +02:00
dependabot[bot]
3b2110fe6c build(deps): bump io-uring from 0.6.4 to 0.7.0 (#5158)
Bumps [io-uring](https://github.com/tokio-rs/io-uring) from 0.6.4 to 0.7.0.
- [Commits](https://github.com/tokio-rs/io-uring/commits)

---
updated-dependencies:
- dependency-name: io-uring
  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>
2024-10-01 10:15:34 +02:00
dependabot[bot]
a5cebd8eef build(deps): bump rstest from 0.22.0 to 0.23.0 (#5159)
Bumps [rstest](https://github.com/la10736/rstest) from 0.22.0 to 0.23.0.
- [Release notes](https://github.com/la10736/rstest/releases)
- [Changelog](https://github.com/la10736/rstest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/la10736/rstest/compare/v0.22.0...v0.23.0)

---
updated-dependencies:
- dependency-name: rstest
  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>
2024-10-01 10:13:09 +02:00
dependabot[bot]
fa55b92ade build(deps): bump async-trait from 0.1.82 to 0.1.83 (#5155)
Bumps [async-trait](https://github.com/dtolnay/async-trait) from 0.1.82 to 0.1.83.
- [Release notes](https://github.com/dtolnay/async-trait/releases)
- [Commits](https://github.com/dtolnay/async-trait/compare/0.1.82...0.1.83)

---
updated-dependencies:
- dependency-name: async-trait
  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>
2024-10-01 09:20:58 +02:00
dependabot[bot]
52db80a292 build(deps): bump ordered-float from 4.2.2 to 4.3.0 (#5154)
Bumps [ordered-float](https://github.com/reem/rust-ordered-float) from 4.2.2 to 4.3.0.
- [Release notes](https://github.com/reem/rust-ordered-float/releases)
- [Commits](https://github.com/reem/rust-ordered-float/compare/v4.2.2...v4.3.0)

---
updated-dependencies:
- dependency-name: ordered-float
  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>
2024-10-01 09:19:46 +02:00
Jojii
a638378df2 remove obsolete timeout (#5142) 2024-09-26 12:59:17 +02:00
Jojii
8980483416 [Strict mode] Merge StrictMode config types (#5137)
* merge StrictModeConfig and StrictModeConfigDiff into one type

* review remarks
2024-09-26 12:36:39 +02:00
Jojii
29556cebc2 [Strict mode] Unit tests (#5124)
* add tests for strict mode

* add good example for strict mode test

* Add succes case to test_request_exact

---------

Co-authored-by: timvisee <tim@visee.me>
2024-09-26 10:27:05 +02:00
Jojii
3595310706 [Strict mode] migrate toc_new -> toc (#5120)
* Replace all remaining calls of toc() with toc_new

* mirgate toc_new -> toc
2024-09-25 15:15:58 +02:00
Jojii
791d064bde [Strict mode] default config (#5037)
* add default config for strict mode

* add default values as example to config/config.yaml

* improve implementation

* update grpc docs
2024-09-25 14:22:36 +02:00
Jojii
a864d4c92e [Strict mode] GRPC verification (#5003)
* first grpc implementations

* make usage of 'scroll' more clear

* introduce 'CheckedTocProvider' trait

* implement more grpc types

* more grpc implementations

* rename StrictModeCheckedProvider to StrictModeCheckedTocProvider

* don't use deprecated feature for UncheckedTocProvider
2024-09-25 13:22:37 +02:00
Jojii
fddb20ba1a [Strict mode] Finish REST requests (#4990)
* add strict mode to more requests

* add timeout check from request query

* unify timeout checking

* adjust functions not requiring strict mode

* add missing checks

* add Prefetch check for query api

* review remarks
2024-09-25 12:42:30 +02:00
Jojii
792bbb7523 Trigger optimizers when uploading snapshots (#5140)
* Trigger optimizers when uploading snapshots

* Trigger optimizers through new method when optimizer config is updated

* review remarks

* Add comment on why ignoring channel send errors is fine

* Remove obsolete return value omitting

---------

Co-authored-by: timvisee <tim@visee.me>
2024-09-24 17:52:03 +02:00
Arnaud Gourlay
f3a2807904 Add unit test for set_payload bug (#5132) 2024-09-24 10:38:45 +02:00
Arnaud Gourlay
d527ab9cd0 Promote atomicwrites to workspace (#5135) 2024-09-24 09:44:12 +02:00
dependabot[bot]
f9d72a0922 build(deps): bump bytes from 1.7.1 to 1.7.2 (#5128)
Bumps [bytes](https://github.com/tokio-rs/bytes) from 1.7.1 to 1.7.2.
- [Release notes](https://github.com/tokio-rs/bytes/releases)
- [Changelog](https://github.com/tokio-rs/bytes/blob/master/CHANGELOG.md)
- [Commits](https://github.com/tokio-rs/bytes/compare/v1.7.1...v1.7.2)

---
updated-dependencies:
- dependency-name: bytes
  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>
2024-09-23 21:43:34 +02:00
dependabot[bot]
6b73ac1791 build(deps): bump charabia from 0.9.0 to 0.9.1 (#5125)
Bumps [charabia](https://github.com/meilisearch/charabia) from 0.9.0 to 0.9.1.
- [Release notes](https://github.com/meilisearch/charabia/releases)
- [Commits](https://github.com/meilisearch/charabia/compare/v0.9.0...v0.9.1)

---
updated-dependencies:
- dependency-name: charabia
  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>
2024-09-23 21:27:12 +02:00
dependabot[bot]
f6246b0e44 build(deps): bump atomicwrites from 0.4.3 to 0.4.4 (#5130)
Bumps [atomicwrites](https://github.com/untitaker/rust-atomicwrites) from 0.4.3 to 0.4.4.
- [Commits](https://github.com/untitaker/rust-atomicwrites/compare/0.4.3...0.4.4)

---
updated-dependencies:
- dependency-name: atomicwrites
  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>
2024-09-23 21:24:50 +02:00
Tim Visée
e804720551 Bump dev version to 1.11.6-dev (#5122) 2024-09-23 17:38:01 +02:00
xzfc
e7c445b15e Do not return error if madvise(PopulateRead) fails (#5123) 2024-09-23 17:08:41 +02:00
Arnaud Gourlay
89336e628d Fix set payload by key on non appendable segment (#5113) 2024-09-23 11:59:08 +02:00
Tim Visée
07d5efbf67 Fix race condition getting optimizers stuck, leaving collection in yellow state (#5111)
* Return whether any task was cleaned

* Retrigger optimizers after cleanup timeout if we cleared a handle

* Flatten match used as decision logic on whether to run optimizers

* Add comment to elaborate we have a branch to prevent race condition

* Rename force to ignore_max_handles

* Use swap remove as it is a bit more efficient
2024-09-23 10:42:31 +02:00
Arnaud Gourlay
7fe546b3cd Configure properly column families when using open_db_with_existing_cf (#5105) 2024-09-19 10:36:21 +02:00
Roman Titov
318dd2f68a Refactor local_shard_points::delete_points API into cleanup_shard API (#5024)
Co-authored-by: timvisee <tim@visee.me>
2024-09-18 15:03:47 +02:00
Roman Titov
739456d41b Cleanup shards when aborting scale-down resharding (#5021) 2024-09-18 13:03:12 +02:00
Tim Visée
9637536fda Refactor local shard status function (#5102)
* Refactor local shard status

* Update lib/collection/src/shards/local_shard/mod.rs

Co-authored-by: Roman Titov <ffuugoo@users.noreply.github.com>

---------

Co-authored-by: Roman Titov <ffuugoo@users.noreply.github.com>
2024-09-18 11:16:13 +02:00
misssonder
567314e732 use point mappings in simple id tracker (#5097)
* use point mappings in simple id tracker

* fix clippy warning
2024-09-17 17:06:30 +02:00
Tim Visée
bcd9bfd5ac Bump dev version to 1.11.5-dev (#5099) 2024-09-17 17:06:23 +02:00
Ivan Pleshkov
f27b6909bd Move quantization repo (#5096)
* move quantization repo

* are you happy fmt

* are you happy clippy

* remove dumping pq to image

* workspace deps

* are you happy clippy
2024-09-17 16:30:26 +02:00
dependabot[bot]
6c8da1669f build(deps): bump anyhow from 1.0.87 to 1.0.89 (#5094)
Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.87 to 1.0.89.
- [Release notes](https://github.com/dtolnay/anyhow/releases)
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.87...1.0.89)

---
updated-dependencies:
- dependency-name: anyhow
  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>
2024-09-17 07:29:52 +02:00
Luis Cossío
025f4e3066 Expose on_disk text index (#5074)
* map index: fix reachable code marked as unreachable

* plumber work to get mmap text index to interfaces

* test: add fixture for mmap text index, always create mmap segment

* various fixes

- ensure dir is created for mmap
- implement is_on_disk() for text index
- invert deleted condition for filter in mmap inverted index

* update grpc docs and openapi

* implement return of files

* review nit

* fix after rebase

---------

Co-authored-by: generall <andrey@vasnetsov.com>
2024-09-16 21:27:30 +02:00