-
Notifications
You must be signed in to change notification settings - Fork 742
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
Remove dual-channel-replication
Feature Flag's Protection
#908
Remove dual-channel-replication
Feature Flag's Protection
#908
Conversation
Currently, the `dual-channel-replication` feature flag is immutable if `enable-protected-configs` is enabled, which is the default behavior. This PR proposes to make the `dual-channel-replication` flag mutable, allowing it to be changed dynamically without restarting the cluster. Motivation: The ability to change the `dual-channel-replication` flag dynamically is essential for testing and validating the feature on real clusters running in production environments. By making the flag mutable, we can enable or disable the feature without disrupting the cluster's operations, facilitating easier testing and experimentation. Additionally, this change would provide more flexibility for users to enable or disable the feature based on their specific requirements or operational needs without requiring a cluster restart. Signed-off-by: naglera <[email protected]>
This title isn't right, it's removing that it's a protected config, which has wider implications that just making it a mutable config. Making it protected doesn't make sense, was there a reason @PingXie? |
dual-channel-replication
feature flag mutabledual-channel-replication
Feature Flag
dual-channel-replication
Feature Flagdual-channel-replication
Feature Flag's Protection
I don't remember the exact context now but I guess "protected" was introduced as a guard rail to prevent "fat-fingering" while keeping the config mutable. In a sense, this setting is kind of "semi-immutable". BTW, I have always been in favor of "immutable" but "mutable" was not a blocker to me either. I think two more things need to be done as part of this PR:
|
Ok, protected feels wrong to me, protected was intended for security configurations to make sure nobody can maliciously escalate their permissions. This feels like we aren't sure if something can be changed.
I don't know what Amit had in mind, but it the sync should continue with full-sync. I don't think flipping these configs should abort the ongoing synchronization.
What contract are you referring to? |
turn on/off during the sync Signed-off-by: naglera <[email protected]>
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## unstable #908 +/- ##
============================================
+ Coverage 70.37% 70.44% +0.07%
============================================
Files 112 113 +1
Lines 61492 61728 +236
============================================
+ Hits 43273 43486 +213
- Misses 18219 18242 +23
|
Signed-off-by: Amit Nagler <[email protected]>
From core discussion, let's document that the sync finishes the replication with dual channel even when the flag is flipped part way through. (Ideally it should finish with the initial settings, but for now the scope is just dual channel). |
Signed-off-by: naglera <[email protected]>
Added tests to verify that sync continues normally in case of dual-channel config changed. |
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.
Good. I didn't review the test.
Signed-off-by: naglera <[email protected]>
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.
LGTM. Nits only. Thanks @naglera
Co-authored-by: Ping Xie <[email protected]> Signed-off-by: Amit Nagler <[email protected]>
Currently, the `dual-channel-replication` feature flag is immutable if `enable-protected-configs` is enabled, which is the default behavior. This PR proposes to make the `dual-channel-replication` flag mutable, allowing it to be changed dynamically without restarting the cluster. **Motivation:** The ability to change the `dual-channel-replication` flag dynamically is essential for testing and validating the feature on real clusters running in production environments. By making the flag mutable, we can enable or disable the feature without disrupting the cluster's operations, facilitating easier testing and experimentation. Additionally, this change would provide more flexibility for users to enable or disable the feature based on their specific requirements or operational needs without requiring a cluster restart. --------- Signed-off-by: naglera <[email protected]>
Currently, the `dual-channel-replication` feature flag is immutable if `enable-protected-configs` is enabled, which is the default behavior. This PR proposes to make the `dual-channel-replication` flag mutable, allowing it to be changed dynamically without restarting the cluster. **Motivation:** The ability to change the `dual-channel-replication` flag dynamically is essential for testing and validating the feature on real clusters running in production environments. By making the flag mutable, we can enable or disable the feature without disrupting the cluster's operations, facilitating easier testing and experimentation. Additionally, this change would provide more flexibility for users to enable or disable the feature based on their specific requirements or operational needs without requiring a cluster restart. --------- Signed-off-by: naglera <[email protected]>
Currently, the
dual-channel-replication
feature flag is immutable ifenable-protected-configs
is enabled, which is the default behavior. This PR proposes to make thedual-channel-replication
flag mutable, allowing it to be changed dynamically without restarting the cluster.Motivation:
The ability to change the
dual-channel-replication
flag dynamically is essential for testing and validating the feature on real clusters running in production environments. By making the flag mutable, we can enable or disable the feature without disrupting the cluster's operations, facilitating easier testing and experimentation. Additionally, this change would provide more flexibility for users to enable or disable the feature based on their specific requirements or operational needs without requiring a cluster restart.