quickwit-oss / quickwit-oss/quickwit
Move away from using the gRPC address of a node as the primary key in client pool
Open
@guilload is already working on this.
Since May 15, 2023.
bug
- Dominant language
- Rust
- Stars
- 11.7k
- Forks
- 597
- Avg merge
- 2d 22h
- Merged PRs (30d)
- 37
Description
- Node
foojoins the cluster:Node { NodeId: "foo", GenerationId: 0, grpc_addr: "::1:12345" } - Client pool:
Pool {"::1::12345": "foo:0" } - Node
foorestarts and rejoins the cluster:Node { NodeId: "foo", GenerationId: 1, grpc_addr: "::1:12345" } - Chitchat detects the new node, client pool receives
addevent and replaces node:Pool {"::1::12345": "foo:1" } - Chitchat detects the dead node, client pool receives
removeevent and deletes node:Pool {} - Chitchat node key update, client pool receives
updateevent and adds node:Pool {"::1::12345": "foo:1" }
Things go well if the dead node is removed before the new node is added. Things go ok if the new node is updated frequently. Things go wrong if the node is not updated frequently or at all.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.