question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Resuming a watch on the latest revision that may be older than requested by the caller

See original GitHub issue

WatcherImpl sets the internal revision to WatchOption#getRevision() during instantiation but WatcherImpl overwrites the field on stream creation here with the latest existing revision. If the latest existing revision is older than the provided by the caller via WatchOption, a resume fetches the latest existing revision. Here’s an example.

  • a watcher is created with requested revision 100, etcd server knows about revision 40
  • the internal revision field of the watcher is overwritten with revision 40
  • the watcher is resumed due to a network failure with revision 40
  • revision 40 is propagated to the caller despite the fact that the caller explicitly asked for revision 100 and newer
  • new incoming revisions (41, …) will be passed to the caller as well

Issue Analytics

  • State:closed
  • Created 2 years ago
  • Comments:6 (3 by maintainers)

github_iconTop GitHub Comments

1reaction
jtgrabowskicommented, Jul 8, 2021

Yeah, I’ll create a PR.

0reactions
jtgrabowskicommented, Jul 12, 2021

The PR is ready.

Read more comments on GitHub >

github_iconTop Results From Across the Web

etcd3 API | etcd
The MVCC model means that the key-value store can be viewed from past revisions since historical key revisions are retained. The retention ...
Read more >
Update your Apple Watch - Apple Support (CA)
First, make sure that your Apple Watch works with the latest software. watchOS 9 is compatible with these Apple Watch models:.
Read more >
get-metric-data — AWS CLI 1.27.28 Command Reference
A GetMetricData operation that does not include a query can retrieve as many as 500 different metrics in a single request, with a...
Read more >
Services overview | Android Developers
Overview · Abstracting the new APIs · Proxying to the new APIs · Creating an implementation with older APIs · Using the version-aware ......
Read more >
kube-apiserver - Kubernetes
Enables anonymous requests to the secure port of the API server. ... is greater than this number, first request and response are removed, ......
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found