-
Notifications
You must be signed in to change notification settings - Fork 490
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
Allow creating config for attached tenant #3446
Merged
Merged
Changes from all commits
Commits
Show all changes
15 commits
Select commit
Hold shift + click to select a range
ccd8dbb
test: reproduce config issue for attached tenants
koivunej 6ef18f5
fix: allow creating new config file even later
koivunej 3406ac7
fix: remove wrong TODO comment
koivunej 6ce381d
fix: fsync after each tenant config change
koivunej e35fa41
refactor: check precondition before writing
koivunej bf275ce
fix: use crashsafe to fsync parent
koivunej e40ff3e
doc: unobfuscate comment
koivunej 1927eeb
refactor: first_save => creating_tenant
koivunej f607840
doc: typo
koivunej 88c5f2d
refactor: trim down and bubble up context
koivunej 37c25be
test: apply suggestions
koivunej 435d12d
refactor: move topmost context into persist_tenant_config
koivunej 4f63e93
fix: align nearby contexts to new policy
koivunej de63feb
test: assume sane python env
koivunej 9c0dd23
doc: typo fix
koivunej File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.
If we're changing the in-memory config and then fail to persist it, we report an error to the client but still run with the new config. Is this intentional?
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.
That part was not explicitly changed on this PR but yeah it seems quite suboptimal. The
update_tenant_config
does a merge all of the given values ... So actually the value we end up writing to the disk is not the active tenant config. Raah, I'll open an issue. Well, perhaps investigate a bit more before calling it :)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.
Modifying the added test in this PR 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:
Creating a new issue, including your comment.
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.
Created two new issues, linked below.