-
Notifications
You must be signed in to change notification settings - Fork 4.1k
settings: multi-tenant cluster settings tracking issue #73857
Copy link
Copy link
Closed
Labels
C-bugCode not up to spec/doc, specs & docs deemed correct. Solution expected to change code/behavior.Code not up to spec/doc, specs & docs deemed correct. Solution expected to change code/behavior.C-enhancementSolution expected to add code/behavior + preserve backward-compat (pg compat issues are exception)Solution expected to add code/behavior + preserve backward-compat (pg compat issues are exception)T-multitenantIssues owned by the multi-tenant virtual teamIssues owned by the multi-tenant virtual teamX-anchored-telemetryThe issue number is anchored by telemetry references.The issue number is anchored by telemetry references.
Description
This issue tracks the implementation of multi-tenant cluster settings, as described in the RFC:
- introduce the new setting classes (setting: introduce setting classes #73937)
- add support for overrides in the SettingsWatcher (settings: add functionality for settings override #73774)
- disallow any uses of system-only settings from tenant code (setting: prevent use of SystemOnly settings from tenant code #74253)
- design API for listening to tenant overrides from the host cluster (for use by the tenant connector) (roachpb: InternalServer API for tenant settings #74268)
- add the new
system.tenant_settingstable (settings: introduce system.tenant_settings table #76313) - implement the host side of the API above using a range feed on the tenant settings table (similar to
SettingsWatcher) (tenantsettingswatcher: implement watcher and integrate into server #76445) - implement
TenantReadOnlysemantics (tenantcostcontrol: change settings to TenantReadOnly #76680)- change appropriate settings to
TenantReadOnly(partially done)
- change appropriate settings to
- implement the tenant side code that uses the API (multitenant: listen for setting overrides #75711)
- delete tenant settings when deleting tenant (tenantsettings: delete overrides when removing tenant #76716)
- add tenant setting overrides to tenant backups (backup: include tenant_settings in cluster backup #76758)
- implement the new statements in the RFC settings: Add syntax for cluster settings #76929 sql,ccl: improve the implementation of the TENANT clauses in sql syntax #77218 sql: store tenant settings in new system table #77471
Nice to haves:
- fail SET CLUSTER SETTING in the tenant if there is an override (in progress)
- add infrastructure for consistently retrieving the current value along with the information whether this is an override (one idea in this comment); make
SHOW CLUSTER SETTING(on the tenant) show when the setting is an override - audit all non-system-only settings and find the set that needs to be moved to system (e.g. most
kv.*settings are not SystemOnly) *: classify existing cluster settings depending on multi-tenant usage #77472 - implement "system visible" class where the tenant sees the system value by default (?) (see rfcs: multitenant cluster settings #73349 (comment))
Epic: CRDB-6671
Jira issue: CRDB-11785
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
C-bugCode not up to spec/doc, specs & docs deemed correct. Solution expected to change code/behavior.Code not up to spec/doc, specs & docs deemed correct. Solution expected to change code/behavior.C-enhancementSolution expected to add code/behavior + preserve backward-compat (pg compat issues are exception)Solution expected to add code/behavior + preserve backward-compat (pg compat issues are exception)T-multitenantIssues owned by the multi-tenant virtual teamIssues owned by the multi-tenant virtual teamX-anchored-telemetryThe issue number is anchored by telemetry references.The issue number is anchored by telemetry references.