-
Notifications
You must be signed in to change notification settings - Fork 3.9k
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
tenantcapabilitieswatcher: make the watcher react faster #114719
tenantcapabilitieswatcher: make the watcher react faster #114719
Conversation
Release note: None
Release note: None
Prior to this patch, the tenant info watcher would only react to changes to `system.tenants` upon rangefeed cache flushes, which could be (in default config) up to 3 seconds after the change is committed. This commit accelerates the behavior by processing updates as soon as the rangefeed observes the change. This new behavior is similar to the way that cluster settings changes are processed immediately in the settings watcher (pkg/settingswatcher). In order to handle deletions that occur during errors that aren't automatically retried inside the rangefeed library (and are instead retried by the watcher resulting in a new full scan), we emit any scan-generated rangefeed events at their scan timestamp, allowing us a means of clearing any stale data from the cache. Release note: None Co-authored-by: Raphael 'kena' Poss <[email protected]>
The main change since #112094 was a rebase and then a set of changes to ensure that all of the previous test cases still pass without substantive changes by using the scan timestamp to clear our cache. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we want this to be backported too?
Reviewed 1 of 1 files at r1, 1 of 1 files at r2, 17 of 17 files at r3, all commit messages.
Reviewable status: complete! 1 of 0 LGTMs obtained (waiting on @msbutler)
Eventually I think we may so I've tagged it. But we almost always hit like 1 to 2 bugs anytime we touch one of these watchers so I also want to let it bake for a few days at least. |
bors r=yuzefovich |
Build succeeded: |
Needed for #111637.
Epic: CRDB-26691
Superceeds #112094
Prior to this patch, the tenant info watcher would only react to
changes to
system.tenants
upon rangefeed cache flushes, which couldbe (in default config) up to 3 seconds after the change is committed.
This commit accelerates the behavior by processing updates as soon as
the rangefeed observes the change.
This new behavior is similar to the way that cluster settings changes
are processed immediately in the settings
watcher (pkg/settingswatcher).
In order to handle deletions that occur during errors that aren't
automatically retried inside the rangefeed library (and are instead
retried by the watcher resulting in a new full scan), we emit any
scan-generated rangefeed events at their scan timestamp, allowing us a
means of clearing any stale data from the cache.
Release note: None