-
Notifications
You must be signed in to change notification settings - Fork 0
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 force drop of metadata db #19
Closed
Closed
Changes from all commits
Commits
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
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.
This sounds a bit dangerous, as it will force recreate the database for all instances. Would it be better if we had it on the
instances
variable level?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.
I've prepared a PR for that, let me know what you think:
#20
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.
@bobbyiliev I was trying to get a that here:
force_recreate is perhaps misnamed. The goal is to recreate the database if and only if the db_init job needs to be re-run.
I think this is a weird one. I actually wouldn't expect all materialize CRDs to block on all init_db commands. They should only depend on their respective init_db resource. Additionally materialize resources must get fully recreated (not just re-rolled) if their db were to get dropped and recreated.
I do like that your pr makes this configurable per materialize instance. That is totally worth making its way into whatever solution we choose. I'm currently leaning towards randomizing the db_name and leaving the old one as cruft. I think it's got a relatively ignorable downside but is otherwise safer and more flexible.
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.
Ah yes! This makes sense now! I don't have any strong opinions on which approach to take; main concerns that I would have for each would be:
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.
I like your pr more than this one. I was trying to keep things simple, but this pr won't handle things like password changes very gracefully. We may also want to do a huddle sometime or a discussion item to the next team hangout. Graceful password rotation is a good item to discuss.
Getting together a list of the behaviors I think we want. I'm not sure we can have all of these with a simple init_db k8s job.