Skip to content

Patch 0.15.4#1

Draft
ghost wants to merge 6 commits intomasterfrom
patch-0.15.4
Draft

Patch 0.15.4#1
ghost wants to merge 6 commits intomasterfrom
patch-0.15.4

Conversation

@ghost
Copy link

@ghost ghost commented Jun 10, 2025

See this issue: https://linear.app/ultihash/issue/ENG-1037/etcd-watcher-misses-some-changes

TL;DR: The etcd client library's watcher implementation does not support multiple changes. This means the watcher can skip changes when there are multiple updates (it really skips!). The most vulnerable case occurs when creating a watcher using the revision (index) returned by ls(). The watcher needs to detect every change made after the ls call and trigger a callback, passing those changes as an argument.

I wrote a test in main.cpp and confirmed it works well.

@ghost ghost marked this pull request as draft June 10, 2025 15:34
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.

0 participants