Commit Graph

3618 Commits

Author SHA1 Message Date
Arnaud Gourlay
6b1f0ef8ff use qdrant/wal (#527) 2022-04-28 21:50:12 +02:00
dependabot[bot]
681d3d33e6 Bump tonic-build from 0.7.0 to 0.7.1 (#520)
Bumps [tonic-build](https://github.com/hyperium/tonic) from 0.7.0 to 0.7.1.
- [Release notes](https://github.com/hyperium/tonic/releases)
- [Changelog](https://github.com/hyperium/tonic/blob/master/CHANGELOG.md)
- [Commits](https://github.com/hyperium/tonic/compare/v0.7.0...v0.7.1)

---
updated-dependencies:
- dependency-name: tonic-build
  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>
2022-04-28 21:05:03 +02:00
dependabot[bot]
665e2f5875 Bump tokio from 1.17.0 to 1.18.0 (#515)
Bumps [tokio](https://github.com/tokio-rs/tokio) from 1.17.0 to 1.18.0.
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.17.0...tokio-1.18.0)

---
updated-dependencies:
- dependency-name: tokio
  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>
2022-04-28 08:00:14 +02:00
Ivan Pleshkov
94b874bea0 optimize push in fixed priority queue (#513) 2022-04-27 18:06:12 +04:00
Egor Ivkov
d4bb6e4f49 Send Raft messages with gRPC client (#509)
* Send Raft messages with gRPC client

* Review: more specific thread names
2022-04-27 13:01:41 +03:00
Ivan Pleshkov
5a3408667b Disable simd on small dimensions (#508)
Disable simd on small dimensions
2022-04-25 20:38:59 +04:00
Egor Ivkov
fd1b8a457c Adds this_peer_id generation as part of raft state (#503)
Also some raft state refactoring
2022-04-25 12:14:01 +03:00
Andrey Vasnetsov
61e6a1872c ensure lib/api version is same as main package (#504) 2022-04-25 10:10:09 +02:00
Egor Ivkov
99dd3d4704 Adds PeerAddressById to StorageConfig (#501) 2022-04-21 19:02:14 +03:00
dependabot[bot]
1eeb30bfcd Bump pprof from 0.7.0 to 0.8.0 (#498)
Bumps [pprof](https://github.com/tikv/pprof-rs) from 0.7.0 to 0.8.0.
- [Release notes](https://github.com/tikv/pprof-rs/releases)
- [Changelog](https://github.com/tikv/pprof-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/tikv/pprof-rs/commits)

---
updated-dependencies:
- dependency-name: pprof
  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>
2022-04-21 09:40:58 +02:00
Egor Ivkov
d0d1f615f2 Fixes test_alias_operation (#497) 2022-04-20 18:04:51 +03:00
Egor Ivkov
77b7e666be Add gRPC RaftService (#490)
* Add gRPC `RaftService`

* Review: Back-pressure with bounded channel
2022-04-20 14:23:26 +03:00
dependabot[bot]
1fe6101ab5 Bump rmp-serde from 1.0.0 to 1.1.0 (#492)
* Bump rmp-serde from 1.0.0 to 1.1.0

Bumps [rmp-serde](https://github.com/3Hren/msgpack-rust) from 1.0.0 to 1.1.0.
- [Release notes](https://github.com/3Hren/msgpack-rust/releases)
- [Commits](https://github.com/3Hren/msgpack-rust/compare/rmp-serde/v1.0.0...rmp-serde/v1.1.0)

---
updated-dependencies:
- dependency-name: rmp-serde
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

* fix deprecated usages

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Arnaud Gourlay <arnaud.gourlay@gmail.com>
2022-04-20 11:45:38 +02:00
dependabot[bot]
5cbb14f372 Bump geo from 0.20.0 to 0.20.1 (#493)
* Bump geo from 0.20.0 to 0.20.1

Bumps [geo](https://github.com/georust/geo) from 0.20.0 to 0.20.1.
- [Release notes](https://github.com/georust/geo/releases)
- [Changelog](https://github.com/georust/geo/blob/main/CHANGES.md)
- [Commits](https://github.com/georust/geo/compare/geo-0.20.0...geo-0.20.1)

---
updated-dependencies:
- dependency-name: geo
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

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

* remove workaround for geo-types

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Arnaud Gourlay <arnaud.gourlay@gmail.com>
2022-04-20 11:28:39 +02:00
Andrey Vasnetsov
bc6df8bd12 Better use of column index (#461)
* fmt

* remove redundent condition checker

* remove condition_checker from test

* fmt

* enum_dispatch for payload storage

* rm unused imports

* fmt

* replace enum_dispatch with manual stuff

* fmt

* filter optiizer

* cargo fix

* fmt

* refactor callback approach to payload checking

* cargo fix

* cargo fix

* fix

* fmt

* more filtering condition random fixture types

* clippy

* fmt

* restore lost value counts test

* Update lib/segment/src/index/query_optimization/optimized_filter.rs

Co-authored-by: Arnaud Gourlay <arnaud.gourlay@gmail.com>

Co-authored-by: Arnaud Gourlay <arnaud.gourlay@gmail.com>
2022-04-19 16:04:55 +02:00
Arnaud Gourlay
351bbe2285 shard update operations are executed concurrently (#489) 2022-04-19 15:00:35 +02:00
dependabot[bot]
eeef63931f Bump geo from 0.19.0 to 0.20.0 (#488)
* Bump geo from 0.19.0 to 0.20.0

Bumps [geo](https://github.com/georust/geo) from 0.19.0 to 0.20.0.
- [Release notes](https://github.com/georust/geo/releases)
- [Changelog](https://github.com/georust/geo/blob/main/CHANGES.md)
- [Commits](https://github.com/georust/geo/compare/geo-0.19.0...geo-0.20.0)

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

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

* geo-types 0.7.4

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Arnaud Gourlay <arnaud.gourlay@gmail.com>
2022-04-19 11:11:41 +02:00
Arnaud Gourlay
60351a48a2 [Sharding] Shard operations are executed concurrently (#484)
* shard operations are executed concurrently

* Fix: "does not live long enough" error

* more concurrent shard operations

* use try_join_all (#486)

Co-authored-by: Egor Ivkov <e.o.ivkov@gmail.com>
Co-authored-by: Andrey Vasnetsov <andrey@vasnetsov.com>
2022-04-19 10:55:28 +02:00
Egor Ivkov
9885628f0a Remove java related proto3 options (#485)
As the project does not use java code generation
2022-04-14 18:39:52 +03:00
Egor Ivkov
e7784cc001 Add comment to UnappliedEntries (#482) 2022-04-14 15:30:09 +03:00
dependabot[bot]
bd8ad015c8 Bump prost-types from 0.10.0 to 0.10.1 (#479)
* Bump prost-types from 0.10.0 to 0.10.1

Bumps [prost-types](https://github.com/tokio-rs/prost) from 0.10.0 to 0.10.1.
- [Release notes](https://github.com/tokio-rs/prost/releases)
- [Commits](https://github.com/tokio-rs/prost/compare/v0.10.0...v0.10.1)

---
updated-dependencies:
- dependency-name: prost-types
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

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

* prost 0.10.1

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Arnaud Gourlay <arnaud.gourlay@gmail.com>
2022-04-14 11:17:02 +02:00
Egor Ivkov
ca62c734e4 Save unapplied committed entries indexes (#477) 2022-04-14 11:05:20 +03:00
Arnaud Gourlay
ca82a80bd3 Internal gRPC API for get collection info (#476) 2022-04-13 19:45:34 +02:00
Arnaud Gourlay
62d4273ed2 [Sharding] internal API for shard-aware points retrieval (#475) 2022-04-13 14:10:15 +02:00
Andrey Vasnetsov
bd3ef8c052 also consider the corner case in test (#474) 2022-04-13 14:00:33 +02:00
Arnaud Gourlay
367afa3866 [sharding] Add internal gRPC API for search recommend & scroll (#463)
* Add internal gRPC API for search recommend & scroll

* introduce BadShardSelection which translates into a client side error

* introduce Collection target_shards to decrease code duplication

* recommend uses a shard_selection aware retrieve
2022-04-13 13:16:53 +02:00
Egor Ivkov
754dd482c6 Persistent Raft State (#465) 2022-04-12 16:05:04 +03:00
Andrey Vasnetsov
d8ed9b2b2b v0.7.0 - upd version and docs (#462)
* upd version and docs

* fix clippy
2022-04-11 18:40:35 +02:00
Andrey Vasnetsov
f7d52244a7 Column oriented filter context (#456)
* [WIP] column oriented filter context

* suggestion

* [WIP] fix lifetimes and add more checkers

* refactor and externd struct filter context

* fmt

* add type alias for the condition checker

* fmt

Co-authored-by: gabriel velo <gabriel.velo@gmail.com>
2022-04-11 17:48:07 +02:00
Andrey Vasnetsov
ef67a2ec59 Condition search benchmark (#435)
* decouple payload index and vector storage

* wip: test fixtures

* conditional search benchmark

* fmt

* use arc iterator for filtered queries

* fmt

* enable all benches

* fix warn

* upd tests

* fmt

* Update lib/segment/src/fixtures/payload_context_fixture.rs

Co-authored-by: Egor Ivkov <e.o.ivkov@gmail.com>

* Update lib/segment/src/payload_storage/query_checker.rs

Co-authored-by: Egor Ivkov <e.o.ivkov@gmail.com>

Co-authored-by: Egor Ivkov <e.o.ivkov@gmail.com>
2022-04-11 17:43:02 +02:00
Arnaud Gourlay
b77482702a add internal API for CollectionUpdateOperations (#445) 2022-04-11 11:27:44 +02:00
Ivan Pleshkov
757652c59e Use chunked vec in vector storage (#457)
avoid vec of vec in simple storage

Co-authored-by: Andrey Vasnetsov <andrey@vasnetsov.com>
2022-04-09 20:47:11 +04:00
Ivan Pleshkov
ff21a13083 Remove overcomplicated iterator (#409)
remove dyn iterator from filtered scorer

Co-authored-by: Andrey Vasnetsov <andrey@vasnetsov.com>
2022-04-08 18:04:59 +04:00
Egor Ivkov
ee4cd768ea Allows specifying collection meta operation commit timeout in API (#444)
* Allows specifying collection meta operation commit timeout in API

Also restructures a part of gRPC collection API

* Review: link to dev docs

* Review: Timeout error description

Also committed generated protobuf code that somehow was left out

* Review: seconds in API and minor proto fixes
2022-04-08 14:42:38 +03:00
Arnaud Gourlay
36ad5ffa80 do not format output of tonic as it is now using prettyplease (#451) 2022-04-08 10:41:52 +02:00
Arnaud Gourlay
ab62d2e549 Make clippy 1.60 green (#446)
* please new clippy version in 1.60

* grpc format

* keep comment in sync
2022-04-07 19:51:32 +03:00
dependabot[bot]
5403fc13a2 Bump tonic from 0.7.0 to 0.7.1 (#441)
Bumps [tonic](https://github.com/hyperium/tonic) from 0.7.0 to 0.7.1.
- [Release notes](https://github.com/hyperium/tonic/releases)
- [Changelog](https://github.com/hyperium/tonic/blob/master/CHANGELOG.md)
- [Commits](https://github.com/hyperium/tonic/compare/v0.7.0...v0.7.1)

---
updated-dependencies:
- dependency-name: tonic
  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>
2022-04-07 10:15:53 +02:00
Egor Ivkov
aeea31dfa4 Wait for operation commit (#436)
* Wait for operation commit

* Review: Option with timeout, return execution err to API

* Review: Add comment about error forwarding in ???
2022-04-06 18:00:44 +03:00
Andrey Vasnetsov
ce21abf033 Values count condition (#439)
* add values_count condition

* fmt

* fix tests and clippy

* fmt
2022-04-05 14:31:53 +02:00
Arnaud Gourlay
ded49e505c [Sharding] Shard aware updates for internal API (#427)
* Shard aware updates for internal API

* code-review: remove general purpose collection update API

* code review: add clarification comment
2022-04-04 11:25:43 +02:00
Andrey Vasnetsov
b07428f620 Is empty condition (#423)
* is-empty condition

* fmt

* better assert

* fmt
2022-04-03 16:55:51 +02:00
Andrey Vasnetsov
adc1f4ad97 Bool filter (#421)
* bool match condition

* use generic values for match requests

* fmt

* upd grpc interface

* upd grpc docs
2022-04-03 16:08:34 +02:00
dependabot[bot]
c2d4a9927f Bump tonic from 0.6.2 to 0.7.0 (#432)
* Bump tonic from 0.6.2 to 0.7.0

Bumps [tonic](https://github.com/hyperium/tonic) from 0.6.2 to 0.7.0.
- [Release notes](https://github.com/hyperium/tonic/releases)
- [Changelog](https://github.com/hyperium/tonic/blob/master/CHANGELOG.md)
- [Commits](https://github.com/hyperium/tonic/compare/v0.6.2...v0.7.0)

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

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

* tonic-build 0.7.0

* prost 0.10.0

* prost 0.7.0 for storage because of raft dependency

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Arnaud Gourlay <arnaud.gourlay@gmail.com>
2022-04-01 22:50:35 +02:00
Andrey Vasnetsov
0d50690c47 Column index (#405)
* add column storage to field index
2022-04-01 09:58:00 -03:00
Egor Ivkov
3826b22c0b Handle aliases in Raft state snapshot (#428)
* Handle aliases in Raft state snapshot

* Persist alias update
2022-04-01 14:47:45 +03:00
Egor Ivkov
d3e0d7dcec Integrate consensus into execution pipeline (#410)
* Integrate consensus into execution pipeline

* Review: Remove unnecessary config
2022-03-31 17:54:55 +03:00
Gabriel Velo
c29c9a46d4 [json storage] Filtering context (#413)
* [WIP] add a basic filtering context scaffold

* add PlainFilterContext and StructFilterContext
2022-03-31 08:57:18 -03:00
Arnaud Gourlay
967e265900 [sharding] Extract grpc feature into sub-crate (#412)
* extract grpc feature into sub-crate

* move build.rs to api crate

* split proto files between services and objects

* update docs
2022-03-30 10:12:02 +02:00
dependabot[bot]
52a0636056 Bump async-trait from 0.1.52 to 0.1.53 (#411)
Bumps [async-trait](https://github.com/dtolnay/async-trait) from 0.1.52 to 0.1.53.
- [Release notes](https://github.com/dtolnay/async-trait/releases)
- [Commits](https://github.com/dtolnay/async-trait/compare/0.1.52...0.1.53)

---
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>
2022-03-29 10:37:40 +02:00
Arnaud Gourlay
a0e52e84aa alias gRPC endpoint (#408) 2022-03-24 16:21:01 +01:00