Skip to content
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

Add "feature-gates" flag and field in config file and add feature gate for StopGRPCServiceOnDefrag #18234

Closed
wants to merge 1 commit into from

Conversation

siyuanfoundation
Copy link
Contributor

part of #18023

This PR includes changes to

  • add "feature-gates" flag and field in config file
  • add feature gate for StopGRPCServiceOnDefrag
  • verify that feature gate flag is not used at the same time as the --experimental flag.

Please read https://github.com/etcd-io/etcd/blob/main/CONTRIBUTING.md#contribution-flow.

@siyuanfoundation
Copy link
Contributor Author

/cc @stackbaek @henrybear327

@k8s-ci-robot
Copy link

@siyuanfoundation: GitHub didn't allow me to request PR reviews from the following users: stackbaek.

Note that only etcd-io members and repo collaborators can review this PR, and authors cannot review their own PRs.

In response to this:

/cc @stackbaek @henrybear327

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

etcd.conf.yml.sample Outdated Show resolved Hide resolved
Copy link
Member

@jmhbnz jmhbnz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice work @siyuanfoundation - Overall looking good, one main question below about ExperimentalFlags vs FeatureGate handling below.

server/embed/config.go Show resolved Hide resolved
@@ -907,6 +957,7 @@ func (cfg *Config) Validate() error {
if err := cfg.setupLogging(); err != nil {
return err
}
cfg.ServerFeatureGate.(featuregate.MutableFeatureGate).SetLogger(cfg.logger)
Copy link
Member

@serathius serathius Jun 28, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why this cannot be done when instantiating config?

Copy link
Contributor Author

@siyuanfoundation siyuanfoundation Jun 28, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

because the server logger is not set up before this point. And the ServerFeatureGate could be needed before that, for example there could be a feature gate to set up the logger.

@@ -103,6 +103,8 @@ Member:
Read timeout set on each rafthttp connection
--raft-write-timeout '` + rafthttp.DefaultConnWriteTimeout.String() + `'
Write timeout set on each rafthttp connection
--feature-gates ''
A set of key=value pairs that describe feature gates for alpha/experimental features.
Copy link
Member

@serathius serathius Jun 28, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we list available feature flags and their defaults?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done.

@serathius
Copy link
Member

High level looks good, left some nits.
cc @ahrtr

@jmhbnz
Copy link
Member

jmhbnz commented Jun 28, 2024

/retest

@ahrtr
Copy link
Member

ahrtr commented Jul 2, 2024

Please try not to raise huge PR.
Can you try to breakdown this PR into a couple of smaller PRs?

…e for StopGRPCServiceOnDefrag

Signed-off-by: Siyuan Zhang <[email protected]>
@siyuanfoundation
Copy link
Contributor Author

part of #18023

Opened #18279.
Closing this one.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

Successfully merging this pull request may close these issues.

7 participants