You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
What should happen, the written to disk version should be the union of settings (with default tenant config values removed):
# This file contains a specific per-tenant's config.# It is read in case of pageserver restart.
[tenant_config]
gc_horizon = 1000000pitr_interval = "0s"
Perhaps we should also add a GET /v1/tenant/:tenant_id/config to get the current tenant config out, so that we can easily compare it always matches the one on disk after single-threaded updates over HTTP.
The PR adds an endpoint to show tenant's current config: `GET
/v1/tenant/:tenant_id/config`
Tenant's config consists of two parts: tenant overrides (could be
changed via other management API requests) and the default part,
substituting all missing overrides (constant, hardcoded in pageserver).
The API returns the custom overrides and the final tenant config, after
applying all the defaults.
Along the way, it had to fix two things in the config:
* allow to shorten the json version and omit all `null`'s (same as toml
serializer behaves by default), and to understand such shortened format
when deserialized. A unit test is added
* fix a bug, when `PUT /v1/tenant/config` endpoint rewritten the local
file with what had came in the request, but updating (not rewriting the
old values) the in-memory state instead.
That got uncovered during adjusting the e2e test and fixed to do the
replacement everywhere, otherwise there's no way to revert existing
overrides. Fixes#3471 (commit
dc688af)
* fixes#3472 by reordering
the config saving operations
Modifying the added test in #3446 to instead of changing
gc_horizon
twice to in different httpPUT
requests:gc_horizon
pitr_interval
Will write to disk as last version:
But adding logging to
Tenant::update_tenant_config
shows that the tenant config is first updated to:Then by the second request:
What should happen, the written to disk version should be the union of settings (with default tenant config values removed):
Perhaps we should also add a
GET /v1/tenant/:tenant_id/config
to get the current tenant config out, so that we can easily compare it always matches the one on disk after single-threaded updates over HTTP.Origin:
The text was updated successfully, but these errors were encountered: