bug in WatchTree for etcd
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 28/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Stale
- Tech stack
- go
- Domain
- backend, distributed-systems
Research direction
Start by tracing WatchTree, the etcd client watch event, and the subsequent List request. Reproduce or test the case where List reaches a raft-lagging server and returns unchanged KVPair values. Done means WatchTree observes a consistent state by routing List to the event's server or enforcing the required raft index, with tests covering the race.
Written by the indexing model from the issue text.
Description
WatchTree uses List on the target directory after receiving a watch event from the etcd client. There is no guarantee that the server that receives the later List request is the same one that triggered the previous Watch event. If the one that receives the List event is behind in the raft replication stream, the WatchTree chan will return an unchanged set of KVPair's. This can be fixed by either sending the List to the same server, or ensuring that whatever server receives the List command has a raft index >= the server that sent the Watch update.
- Dominant language
- Go
- Stars
- 847
- Forks
- 204
- PR merge metrics
- No merged PRs in 30d
Contributor guide
No contributing guide indexed for this repository
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.
More from docker/libkv
-
Difficulty 5/5 Over a week Newbie friendliness 15/100
-
Difficulty 3/5 1-2 days Newbie friendliness 25/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 45/100
-
Difficulty 4/5 3-5 days Newbie friendliness 28/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 45/100
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
crossplane/crossplane#7859 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
bazel-contrib/rules_go#4721 · 2 comments ·
-
needs-triage
Difficulty 1/5 Under an hour Newbie friendliness 92/100
-
bug carvel-triage
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
carvel-dev/kapp-controller#1861 ·
-
area/logging kind/bug
Difficulty 2/5 1-3 hours Newbie friendliness 86/100