-
Notifications
You must be signed in to change notification settings - Fork 9.8k
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
Introduce feature tracking #13775
Comments
For now created |
@serathius +1 good thought on proposal. I would suggest to create a PR (let me know if you want me to create one) with the initial proposal to handle new features and graduation in the |
Does Flag |
Related etcd-io#13775 Signed-off-by: Sahdev Zala <[email protected]>
Related etcd-io#13775 Signed-off-by: Sahdev Zala <[email protected]>
Related etcd-io#13775 Signed-off-by: Sahdev Zala <[email protected]>
Related etcd-io#13775 Signed-off-by: Sahdev Zala <[email protected]>
Addressed feedback with some added thoughts. Also, added Unsafe features. Related etcd-io#13775 Signed-off-by: Sahdev Zala <[email protected]>
Add an overview and initial development guidelines. Restructured the doc for a better readabiltiy and easier review, and per the previous review feedback. The TODOs will be addressed iteratively. Related etcd-io#13775 Signed-off-by: Sahdev Zala <[email protected]>
Add an overview and initial development guidelines. Restructured the doc for a better readabiltiy and easier review, and per the previous review feedback. The TODOs will be addressed iteratively. Related etcd-io#13775 Signed-off-by: Sahdev Zala <[email protected]>
Marking as done via #14045 |
When looking through some recent reports of data inconsistencies in etcd v3.5 I was surprised that all of them where detected manually by users. Manual detection means that users find out pretty late and they no longer have a logs from the event. This is very worrying that we are unable to effectively reproduce nor fix such cases.
I wondered why etcd doesn't have any mechanism to detect data inconsistencies. However, after more digging I found that there is a feature called "corrupt checks" just for that reason and it was implemented in v3.3 #7125. Weird, I haven't found it being used neither by Kubernetes repo, etcdadm nor any other public project using etcd. This is a big problem, how do etcd developers expect to reproduce and fix data corruption issues that users are not aware of and don't use the feature intended to detect them.
After more digging, the reason was clear, it's an experimental feature, that was meant to be graduated in v3.4 (#9190), but got dropped to v3.5 (#10893) and forgotten to be included in v3.5. Without proper feature tracing, such essential features don't get enough attention causing long term negative consequences for whole project. This doesn't just happens once, if you look through experimental flags there are a lot of features that were never graduated.
Problem:
Proposal:
experimental
->optional
->default
and alsodeprecated
if we plan to remove it.experimental
anddeprecated
should only take one release. We should also plan to makeoptional
features enabled asdefault
, but it could take longer.The text was updated successfully, but these errors were encountered: