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

Tracking issue: resharding #4213

Open
14 of 37 tasks
timvisee opened this issue May 10, 2024 · 0 comments
Open
14 of 37 tasks

Tracking issue: resharding #4213

timvisee opened this issue May 10, 2024 · 0 comments
Assignees

Comments

@timvisee
Copy link
Member

timvisee commented May 10, 2024

This issue tracks progress on the resharding feature. It allows to dynamically grow the number of shards in a Qdrant collection.

Tasks

Backlog

A rough outline of new tasks on this feature:

  • deduplicate count during resharding
  • implement resharding "driver"
    • TBD
    • decide which approach we would implement
      • either dedicated task running on receiver node is driving resharding (@timvisee proposal)
      • or resharding is driven through consensus without a dedicated "driver" (@ffuugoo proposal)
  • abort/cancel resharding
    • when participating peer is removed
    • is it possible to remove the only/last replica of a shard? if so, then we also need to cancel resharding when we remove shard replicas
    • when resharding transfer fails
    • when new shard is marked as Dead
      • ensure new shard can be marked as Dead, even if it's the only replica of a shard
  • implement APIs to control resharding (or extend existing)
    • expose HTTP API in the OpenAPI spec
    • implement gRPC API
  • handle resharding when restoring consensus snapshot
  • report resharding in cluster info
  • expose resharding structs in OpenAPI spec
  • report correct number of points transferred in resharding transfer
  • fix exact counts while resharding
  • change resharding state structure from option to list, prepare for multiple concurrent operations in the future
  • ensure compatibility with 1.9.x patch versions that already persisted default resharding state on disk
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

No branches or pull requests

2 participants