Commit Graph
1332 Commits
Author SHA1 Message Date
Andrey Vasnetsov 9ac3fb4c98 Update cluster_api.rs 2023-04-21 23:09:10 +02:00
Tim Visée 787e85f0ef Using single backtick for literal is enough in pull request template (#1754) 2023-04-19 16:10:37 +02:00
Andrey Vasnetsov 5e0e1b82fa Update bug_report.md 2023-04-14 09:14:36 +02:00
dependabot[bot] 550ce89ce0 Bump h2 from 0.3.15 to 0.3.17 (#1726)
Bumps [h2](https://github.com/hyperium/h2) from 0.3.15 to 0.3.17.
- [Release notes](https://github.com/hyperium/h2/releases)
- [Changelog](https://github.com/hyperium/h2/blob/master/CHANGELOG.md)
- [Commits](https://github.com/hyperium/h2/compare/v0.3.15...v0.3.17)

---
updated-dependencies:
- dependency-name: h2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-14 08:31:05 +02:00
allcontributors[bot] 4b03cf66ab docs: add moaz-mokhtar as a contributor for doc (#1718)
* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

---------

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
2023-04-12 17:40:34 +02:00
allcontributors[bot] 5da60111cd docs: add stencillogic as a contributor for code (#1717)
* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

---------

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
2023-04-12 17:38:47 +02:00
allcontributors[bot] 1d2aa1a1ec docs: add ibrahim-akrab as a contributor for code (#1716)
* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

---------

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
2023-04-12 17:37:21 +02:00
allcontributors[bot] 469c69d553 docs: add Weijun-H as a contributor for code (#1715)
* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

---------

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
2023-04-12 17:35:54 +02:00
allcontributors[bot] 4b4c215888 docs: add DengYiping as a contributor for code (#1714)
* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

---------

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
2023-04-12 17:34:26 +02:00
allcontributors[bot]andAndrey Vasnetsov 67ed87ef85 docs: add timvisee as a contributor for code (#1712)
* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

---------

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: Andrey Vasnetsov <andrey@vasnetsov.com>
2023-04-12 17:32:40 +02:00
allcontributors[bot] ef702692af docs: add timonv as a contributor for code (#1713)
* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

---------

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
2023-04-12 17:30:37 +02:00
Andrey Vasnetsov b5f4720c59 up to v1.1.1 (#1700) v1.1.1 2023-04-11 19:36:46 +02:00
Luis Cossío 4ac3c6a867 feat: [http] alias with_vector <-> with_vectors (#1697) 2023-04-11 18:21:33 +02:00
Andrey Vasnetsov 0a8973c85d make is-empty condition consistent with all other conditions (#1698)
* make is-empty condition consistent with all other conditions

* review and clippy
2023-04-11 18:21:27 +02:00
Tim Visée 5f3db2694f Minor HNSW configuration comment improvement to match docs (#1693)
See https://github.com/qdrant/docs/pull/89
2023-04-11 14:32:13 +02:00
Tim Visée 044ccf57e9 Revert clamp usage to prevent panic at runtime with high ef_limit values (#1692) 2023-04-11 14:32:09 +02:00
Luis CossíoandAndrey Vasnetsov ac4302f555 [WIP] Include startup date in telemetry (#1676)
* feat: add boot time to telemetry

* refactor: rename boot -> startup

* review fixes

* update openapi

---------

Co-authored-by: Andrey Vasnetsov <andrey@vasnetsov.com>
2023-04-11 14:32:02 +02:00
dependabot[bot] 3f551af260 Bump openssl from 0.10.49 to 0.10.50 (#1688)
Bumps [openssl](https://github.com/sfackler/rust-openssl) from 0.10.49 to 0.10.50.
- [Release notes](https://github.com/sfackler/rust-openssl/releases)
- [Commits](https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.49...openssl-v0.10.50)

---
updated-dependencies:
- dependency-name: openssl
  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>
2023-04-11 14:31:52 +02:00
dependabot[bot] 414bc8458a Bump uuid from 1.3.0 to 1.3.1 (#1689)
Bumps [uuid](https://github.com/uuid-rs/uuid) from 1.3.0 to 1.3.1.
- [Release notes](https://github.com/uuid-rs/uuid/releases)
- [Commits](https://github.com/uuid-rs/uuid/compare/1.3.0...1.3.1)

---
updated-dependencies:
- dependency-name: uuid
  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>
2023-04-11 14:31:38 +02:00
Tim Visée 868626f409 Add vector specific quantization configuration (#1680)
* Add QuantizationConfigDiff type

* Add quantization config diff to vector parameters

* Prefer vector config over collection config for quantization

* Update OpenAPI specification

* Validate quantization configuration quantile in 0.5-1.0 range

As per https://github.com/qdrant/qdrant/pull/1681

* Add test if check if vector specific quantization config is persisted

* Alias quantization to quantization_config in vector parameters

* Remove quantization config diff, use full vector specific config instead

* Regenerate OpenAPI specification and gRPC docs

* Fix compilation error

* Add error handling to quantization config conversions

* Fix quantization integration test, make HNSW test stricter
2023-04-11 14:31:34 +02:00
Luis CossíoandAndrey Vasnetsov e1d494d6be Include "last_responded" in telemetry (#1668)
* feat: include "last_queried" in /telemetry

* fix: anonymize responses in the WebApiTelemetry and GrpcTelemetry Anonymize impls

* fix: anonymize the last_queried field

* fix: use YYYY/MM/DD hh:mm:ss format on 'last_queried'

* tests: add and fix telemetry test

* refactor: rename last_queried -> last_responded

* cargo fmt

* update openapi models

* refactor: rename last_request_time -> last_response_date

* tests: update test

* review changes

* add chrono to schemars

---------

Co-authored-by: Andrey Vasnetsov <andrey@vasnetsov.com>
2023-04-11 14:31:28 +02:00
Tim Visée c3c968881b General improvements (#1687)
* Change file mode of some .sh files to make them executable

* Remove whitespace on empty lines from YAML configurations

* Fix unused import warning on Windows
2023-04-11 14:31:22 +02:00
Tim ViséeandAndrey Vasnetsov 66ba8f17af Add vector specific HNSW configuration (#1675)
* Validate VectorConfig/VectorParams, remove obsolete validation

* Add HNSW config diff to vector parameters

* Validate params in collection config

* Add HNSW config to segment vector data config

* Add VectorsConfig params iterator for more elegant conversions

* Prefer vector HNSW config over collection config for building HNSW index

* Base segment vector param HNSW config on collection config

* General improvements

* Rewrite HNSW ef_construct extract function to also consider vector configs

* Update OpenAPI specification

* Add test to check if vector specific HNSW config is persisted

* review changes

* review changes

* Regenerate gRPC docs

* Fix test on Windows

* Regenerate OpenAPI specification

---------

Co-authored-by: Andrey Vasnetsov <andrey@vasnetsov.com>
2023-04-11 14:31:18 +02:00
Tim Visée c4c78e2b2d Add validation to gRPC (#1634)
* Implement validation on generated gRPC point types

* Validate gRPC point API requests

* Nicely describe validation errors

* Add validation extensions for special types used in gRPC

* Validate gRPC collection API requests

* Validate gRPC Raft and snapshot API requests

* Simplify validation builder, guess derives from fields, fix two fields

* Remove point recommending limit constraint to fix gRPC tests

* Clean up validation logic for gRPC in build.rs

* Validate internal gRPC requests, don't error but show warnings in log

* Optimize gRPC validation extensions, remove unused bits

* Validate gRPC collection creation configuration

* Add custom validators for special gRPC types

* Value is automatically attached to validation error

* Cleanup

* Remove obsolete tests

* Add basic gRPC validation test

* Add some gRPC request payload validation tests

* Set max collection name length to 255 in validation to match Actix
2023-04-11 14:31:12 +02:00
Tim Visée 6f15aa21c8 Simplify for loop picking a minimum item (#1686)
See https://github.com/qdrant/qdrant/pull/1682#discussion_r1161605970
2023-04-11 14:31:08 +02:00
Yiping Dengandtimvisee 673a30fc55 Add user client certificate validation capabiltiy (#1663)
* Add user client certificate validation capabiltiy

* Add integration test for client side certificate validation

* Add server side ca certificate to verify

* Use store builder for client side certificate

* Use a trust store

* Fix config for TLS test

* Fix test, remove mTLS for external grpc endpoint

* Fix config comment

* Remove useless commit

* Fix style

* Fix internodal TLS test

* Simplify setting SSL verify mode

---------

Co-authored-by: timvisee <tim@visee.me>
2023-04-11 14:30:59 +02:00
Tim Visée e8002b2781 Verify quantization configuration on collection creation (#1681)
* Verify quantization configuration on collection creation

* Update OpenAPI specification

* Update range in doc to match validation definition

* Update OpenAPI specification
2023-04-11 14:30:54 +02:00
Andrey Vasnetsov 623f3bffe1 Try to fix dying shards (#1682)
* use common channel pool for healthcheck requests

* add dynamic channel pool

* fmt

* lower parallel connections num

* fmt

* fix clippy

* fix clippy

* better status error message

* smarter channel dropping conditions

* per-channel stats

* refactor pool

* rollback dockerfile

* health-check timeout

* prevent reporting last active peer as dead

* introduce update rate limit

* only rate-limit client requests

* ability to save snapshot without locking wal (#1685)

* ability to save snapshot without locking wal

* fix empty wal saving

* skip waiting on local shard in listener mode even if it is a direct request to listener shard

* snapshot recovery test + better handling of segment versions

* use latest wal

* review changes
2023-04-11 14:30:50 +02:00
Tim Visée f09d19e125 Add CI job to enforce generated OpenAPI and gRPC file consistency (#1667)
* Add test script to ensure OpenAPI files are consistent with sources

* Add CI job to test OpenAPI file consistency

* Add CI task to test gRPC file consistency

* Tweak consistency scripts a bit, touch temp file to trigger gRPC rebuild

* Don't test .gitignored files

* Mention updating the OpenAPI specification is enforced by CI

* Update CI job configuration

* Also check consistency of gRPC docs

* Rename temporary files to have a .diff prefix

* Add docs to consistency checking scripts
2023-04-11 14:30:45 +02:00
Ivan Pleshkov 199ecc6099 additional deleted checks in raw scorers (#1674) 2023-04-11 14:30:40 +02:00
Ivan Pleshkov 1eb4ec4885 fix search one day bug (#1672) 2023-04-11 14:30:33 +02:00
Arnaud Gourlay 6676c7ab09 Fix possible double read on replica_state (#1671)
* Fix possible double read on replica_state

* linting
2023-04-11 14:30:27 +02:00
Roman TitovandAndrey Vasnetsov e7a5dc88b0 Fix node failure during highly parallel updates (#1661)
* Wrap blocking `SaveOnDisk::wait_for` call with `tokio::task::spawn_blocking`

* remove waiting for deactivation completely

* Un-`Arc` `SaveOnDisk` structure

* Revert "remove waiting for deactivation completely"

This reverts commit 95c02a11db.

* Revert "Un-`Arc` `SaveOnDisk` structure"

This reverts commit b64ea6a11d.

* remove unwrap

---------

Co-authored-by: Andrey Vasnetsov <andrey@vasnetsov.com>
2023-04-11 14:30:19 +02:00
Arnaud Gourlay 8350652553 Use latest WAL 1a6bb8 (#1666) 2023-04-11 14:30:12 +02:00
Arnaud Gourlay 7657d79f0d cleanup and document openapi issue (#1665) 2023-04-11 14:29:55 +02:00
Arnaud Gourlay 64ff64fdde Remove decoding limit for external gRPC endpoints (#1659) 2023-04-11 14:25:27 +02:00
dependabot[bot] f52717f965 Bump serde from 1.0.152 to 1.0.159 (#1655)
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.152 to 1.0.159.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.152...v1.0.159)

---
updated-dependencies:
- dependency-name: serde
  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>
2023-04-11 14:25:23 +02:00
Roman Titov ce39ce7cf3 Fix ForwardProxyShard::update error handling (#1638)
Refactor `ForwardProxyShard::update` to separate failure of the local shard from the failure of the remote shard.

TODO:
- Figure a way to return the result of the local shard (regardless of status of remote shard)...
- ...and also handle the failure of remote shard
2023-04-11 14:25:19 +02:00
Arnaud Gourlay 54ecc5d7b7 Set max_decoding_message_size to larger value following tonic 0.9.0 (#1658) 2023-04-11 13:46:35 +02:00
dependabot[bot] f532ce0a1a Bump serde_json from 1.0.93 to 1.0.95 (#1654)
Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.93 to 1.0.95.
- [Release notes](https://github.com/serde-rs/json/releases)
- [Commits](https://github.com/serde-rs/json/compare/v1.0.93...v1.0.95)

---
updated-dependencies:
- dependency-name: serde_json
  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>
2023-04-11 13:46:24 +02:00
Andrey Vasnetsov e43e24deb2 Restore is empty functions as before (#1657)
* is_empty should match with value=null

* fmt
2023-04-11 13:46:16 +02:00
de93c75bf3 feat: add wait param for all snapshot API (#1571)
* feat: add wait parm for all snapshot API

* update openAPI

* avoid unwrap

* remove all unwarp

* return HTTP 202 when no waiting on snapshot creation

* return 202 when non wait

* update open API

* update param on python test

* update and test api

* optimize the test

* return 202 when non-wait delete

* recover fixes

---------

Co-authored-by: Arnaud Gourlay <arnaud.gourlay@gmail.com>
Co-authored-by: Andrey Vasnetsov <andrey@vasnetsov.com>
2023-04-11 13:42:11 +02:00
dependabot[bot] 7d257f90fd Bump tonic-build from 0.9.0 to 0.9.1 (#1648)
Bumps [tonic-build](https://github.com/hyperium/tonic) from 0.9.0 to 0.9.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.9.0...v0.9.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>
2023-04-11 13:42:04 +02:00
dependabot[bot] 9f71117a8a Bump tonic from 0.9.0 to 0.9.1 (#1650)
Bumps [tonic](https://github.com/hyperium/tonic) from 0.9.0 to 0.9.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.9.0...v0.9.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>
2023-04-11 13:41:58 +02:00
dependabot[bot] 182ab0a167 Bump lukemathwalker/cargo-chef (#1646)
Bumps lukemathwalker/cargo-chef from latest-rust-1.68.1 to latest-rust-1.68.2.

---
updated-dependencies:
- dependency-name: lukemathwalker/cargo-chef
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-11 13:41:48 +02:00
dependabot[bot] 8a031cef1d Bump chrono from 0.4.23 to 0.4.24 (#1649)
Bumps [chrono](https://github.com/chronotope/chrono) from 0.4.23 to 0.4.24.
- [Release notes](https://github.com/chronotope/chrono/releases)
- [Changelog](https://github.com/chronotope/chrono/blob/main/CHANGELOG.md)
- [Commits](https://github.com/chronotope/chrono/compare/v0.4.23...v0.4.24)

---
updated-dependencies:
- dependency-name: chrono
  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>
2023-04-11 13:41:44 +02:00
dependabot[bot] 582c0ca51e Bump reqwest from 0.11.14 to 0.11.16 (#1652)
Bumps [reqwest](https://github.com/seanmonstar/reqwest) from 0.11.14 to 0.11.16.
- [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.11.14...v0.11.16)

---
updated-dependencies:
- dependency-name: reqwest
  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>
2023-04-11 13:41:40 +02:00
dependabot[bot] c88e0d2fd2 Bump thiserror from 1.0.38 to 1.0.40 (#1651)
Bumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.38 to 1.0.40.
- [Release notes](https://github.com/dtolnay/thiserror/releases)
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.38...1.0.40)

---
updated-dependencies:
- dependency-name: thiserror
  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>
2023-04-11 13:41:29 +02:00
dependabot[bot] 48368cf414 Bump openssl from 0.10.45 to 0.10.49 (#1653)
Bumps [openssl](https://github.com/sfackler/rust-openssl) from 0.10.45 to 0.10.49.
- [Release notes](https://github.com/sfackler/rust-openssl/releases)
- [Commits](https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.45...openssl-v0.10.49)

---
updated-dependencies:
- dependency-name: openssl
  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>
2023-04-11 13:41:25 +02:00
dependabot[bot] 14a98581bb Bump pprof from 0.11.0 to 0.11.1 (#1647)
Bumps [pprof](https://github.com/tikv/pprof-rs) from 0.11.0 to 0.11.1.
- [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/compare/v0.11.0...v0.11.1)

---
updated-dependencies:
- dependency-name: pprof
  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>
2023-04-11 13:41:20 +02:00