Skip to content
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

release-23.2: tenantcapabilitieswatcher: make the watcher react faster #114818

Merged
merged 3 commits into from
Jan 22, 2024

Conversation

blathers-crl[bot]
Copy link

@blathers-crl blathers-crl bot commented Nov 21, 2023

Backport 3/3 commits from #114719 on behalf of @stevendanna.

/cc @cockroachdb/release


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 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


Release justification: Substantial improvement that reduces the rate of timeouts and flakes in many tests.

knz and others added 3 commits October 10, 2023 14:01
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]>
@blathers-crl blathers-crl bot requested review from a team as code owners November 21, 2023 16:51
@blathers-crl blathers-crl bot requested a review from a team November 21, 2023 16:51
@blathers-crl blathers-crl bot requested review from a team as code owners November 21, 2023 16:51
@blathers-crl blathers-crl bot added blathers-backport This is a backport that Blathers created automatically. O-robot Originated from a bot. labels Nov 21, 2023
@blathers-crl blathers-crl bot requested review from dt and removed request for a team November 21, 2023 16:51
@blathers-crl blathers-crl bot force-pushed the blathers/backport-release-23.2-114719 branch from 938224a to bba4f04 Compare November 21, 2023 16:51
Copy link
Author

blathers-crl bot commented Nov 21, 2023

Thanks for opening a backport.

Please check the backport criteria before merging:

  • Backports should only be created for serious
    issues
    or test-only changes.
  • Backports should not break backwards-compatibility.
  • Backports should change as little code as possible.
  • Backports should not change on-disk formats or node communication protocols.
  • Backports should not add new functionality (except as defined
    here).
  • Backports must not add, edit, or otherwise modify cluster versions; or add version gates.
  • All backports must be reviewed by the owning areas TL and one additional
    TL. For more information as to how that review should be conducted, please consult the backport
    policy
    .
If your backport adds new functionality, please ensure that the following additional criteria are satisfied:
  • There is a high priority need for the functionality that cannot wait until the next release and is difficult to address in another way.
  • The new functionality is additive-only and only runs for clusters which have specifically “opted in” to it (e.g. by a cluster setting).
  • New code is protected by a conditional check that is trivial to verify and ensures that it only runs for opt-in clusters. State changes must be further protected such that nodes running old binaries will not be negatively impacted by the new state (with a mixed version test added).
  • The PM and TL on the team that owns the changed code have signed off that the change obeys the above rules.
  • Your backport must be accompanied by a post to the appropriate Slack
    channel (#db-backports-point-releases or #db-backports-XX-X-release) for awareness and discussion.

Also, please add a brief release justification to the body of your PR to justify this
backport.

@blathers-crl blathers-crl bot force-pushed the blathers/backport-release-23.2-114719 branch from 0b7557d to 05f294d Compare November 21, 2023 16:51
@blathers-crl blathers-crl bot requested a review from msbutler November 21, 2023 16:51
@blathers-crl blathers-crl bot added the backport Label PR's that are backports to older release branches label Nov 21, 2023
@blathers-crl blathers-crl bot requested a review from yuzefovich November 21, 2023 16:51
@cockroach-teamcity
Copy link
Member

This change is Reviewable

Copy link
Member

@yuzefovich yuzefovich left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agree about letting it bake on master for a week or so.

Reviewed 1 of 1 files at r1, 1 of 1 files at r2, 17 of 17 files at r3, all commit messages.
Reviewable status: :shipit: complete! 0 of 0 LGTMs obtained (waiting on @dt and @msbutler)

Copy link

github-actions bot commented Jan 3, 2024

Reminder: it has been 3 weeks please merge or close your backport!

@msbutler
Copy link
Collaborator

msbutler commented Jan 9, 2024

@stevendanna still want to merge this?

@stevendanna
Copy link
Collaborator

@msbutler Thanks for the reminder. I'll see if we had any follow-up fixes that should be added to this backport and then rebase it.

@stevendanna stevendanna merged commit ed3624c into release-23.2 Jan 22, 2024
3 checks passed
@stevendanna stevendanna deleted the blathers/backport-release-23.2-114719 branch January 22, 2024 09:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backport Label PR's that are backports to older release branches blathers-backport This is a backport that Blathers created automatically. O-robot Originated from a bot.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants