Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add shard snapshot gRPC API #2825

Merged
merged 12 commits into from
Oct 18, 2023
Merged

Add shard snapshot gRPC API #2825

merged 12 commits into from
Oct 18, 2023

Conversation

ffuugoo
Copy link
Contributor

@ffuugoo ffuugoo commented Oct 16, 2023

Add gRPC API for shard snapshot operations that can be implemented with gRPC:

  • create
  • list
  • delete
  • recover
  • there's no standardized way to implement download and upload, so these operations only available in HTTP API

(This is required for the #2432.)

All Submissions:

  • Contributions should target the dev branch. Did you create your branch from dev?
  • Have you followed the guidelines in our Contributing document?
  • Have you checked to ensure there aren't other open Pull Requests for the same update/change?

New Feature Submissions:

  1. Does your submission pass tests?
  2. Have you formatted your code locally using cargo +nightly fmt --all command prior to submission?
  3. Have you checked your code using cargo clippy --all --all-features command?

Changes to Core Features:

  • Have you added an explanation of what your changes do and why you'd like us to include them?

@ffuugoo ffuugoo marked this pull request as ready for review October 16, 2023 16:51
@ffuugoo ffuugoo requested review from timvisee and generall October 16, 2023 16:51
Copy link
Member

@timvisee timvisee left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In a conversation we agreed that the gRPC interface should be moved to the internal API. That is because we'd like to use this through ChannelService which only works with the internal API.

lib/api/src/grpc/proto/snapshots_service.proto Outdated Show resolved Hide resolved
lib/api/src/grpc/proto/snapshots_service.proto Outdated Show resolved Hide resolved
@ffuugoo ffuugoo requested a review from timvisee October 17, 2023 10:34
lib/api/src/grpc/proto/qdrant.proto Show resolved Hide resolved
src/tonic/api/snapshots_api.rs Outdated Show resolved Hide resolved
@ffuugoo ffuugoo mentioned this pull request Oct 17, 2023
9 tasks
@generall generall merged commit cab234c into dev Oct 18, 2023
@generall generall deleted the add-shard-snapshot-grpc-api branch October 18, 2023 12:35
generall pushed a commit that referenced this pull request Dec 6, 2023
* Fix paste-bugs in `snapshot_service.proto`

* Add shard snapshot gRCP API definition

* Add validation to shard snapshot gRPC API definition

* Implement conversions between gRPC and `collection` types

* Extract shard snapshot API implementation into common sub-module

* Implement shard snapshot gRPC API

* Generate gRPC docs

* Refactor `ShardSnapshots` gRPC service to be internal API only

* fixup! Refactor `ShardSnapshots` gRPC service to be internal API only

Move `ShardSnapshotRecoverResponse` to `shard_snapshots_service.proto`

* fixup! fixup! Refactor `ShardSnapshots` gRPC service to be internal API only

Update `api/src/grpc/qdrant.rs`

* fixup! fixup! Refactor `ShardSnapshots` gRPC service to be internal API only

Update gRPC docs

* Switch `ShardSnapshots` gRPC service to use `validate_and_log` instead of `validate`
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants