Mark --snapshot-count as deprecated in v3.6 and will be decommissioned in v3.7
Signed-off-by: Benjamin Wang <benjamin.ahrtr@gmail.com>
This commit is contained in:
@ -158,6 +158,8 @@ type Config struct {
|
||||
//revive:disable-next-line:var-naming
|
||||
WalDir string `json:"wal-dir"`
|
||||
|
||||
// SnapshotCount is deprecated in v3.6 and will be decommissioned in v3.7.
|
||||
// TODO: remove it in 3.7.
|
||||
SnapshotCount uint64 `json:"snapshot-count"`
|
||||
|
||||
// SnapshotCatchUpEntries is the number of entries for a slow follower
|
||||
@ -616,7 +618,7 @@ func (cfg *Config) AddFlags(fs *flag.FlagSet) {
|
||||
fs.UintVar(&cfg.MaxSnapFiles, "max-snapshots", cfg.MaxSnapFiles, "Maximum number of snapshot files to retain (0 is unlimited).")
|
||||
fs.UintVar(&cfg.MaxWalFiles, "max-wals", cfg.MaxWalFiles, "Maximum number of wal files to retain (0 is unlimited).")
|
||||
fs.StringVar(&cfg.Name, "name", cfg.Name, "Human-readable name for this member.")
|
||||
fs.Uint64Var(&cfg.SnapshotCount, "snapshot-count", cfg.SnapshotCount, "Number of committed transactions to trigger a snapshot to disk.")
|
||||
fs.Uint64Var(&cfg.SnapshotCount, "snapshot-count", cfg.SnapshotCount, "Number of committed transactions to trigger a snapshot to disk. Deprecated in v3.6 and will be decommissioned in v3.7.")
|
||||
fs.UintVar(&cfg.TickMs, "heartbeat-interval", cfg.TickMs, "Time (in milliseconds) of a heartbeat interval.")
|
||||
fs.UintVar(&cfg.ElectionMs, "election-timeout", cfg.ElectionMs, "Time (in milliseconds) for an election to timeout.")
|
||||
fs.BoolVar(&cfg.InitialElectionTickAdvance, "initial-election-tick-advance", cfg.InitialElectionTickAdvance, "Whether to fast-forward initial election ticks on boot for faster election.")
|
||||
|
@ -56,6 +56,11 @@ var (
|
||||
"test.coverprofile",
|
||||
"test.outputdir",
|
||||
}
|
||||
|
||||
deprecatedFlags = map[string]string{
|
||||
// TODO: remove in 3.7.
|
||||
"snapshot-count": "--snapshot-count is deprecated in 3.6 and will be decommissioned in 3.7.",
|
||||
}
|
||||
)
|
||||
|
||||
// config holds the config for a command line invocation of etcd
|
||||
@ -165,6 +170,20 @@ func (cfg *config) parse(arguments []string) error {
|
||||
return perr
|
||||
}
|
||||
|
||||
var warningsForDeprecatedFlags []string
|
||||
cfg.cf.flagSet.Visit(func(f *flag.Flag) {
|
||||
if msg, ok := deprecatedFlags[f.Name]; ok {
|
||||
warningsForDeprecatedFlags = append(warningsForDeprecatedFlags, msg)
|
||||
}
|
||||
})
|
||||
if len(warningsForDeprecatedFlags) > 0 {
|
||||
if lg := cfg.ec.GetLogger(); lg != nil {
|
||||
for _, msg := range warningsForDeprecatedFlags {
|
||||
lg.Warn(msg)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// now logger is set up
|
||||
return err
|
||||
}
|
||||
|
@ -58,7 +58,7 @@ Member:
|
||||
--wal-dir ''
|
||||
Path to the dedicated wal directory.
|
||||
--snapshot-count '10000'
|
||||
Number of committed transactions to trigger a snapshot to disk.
|
||||
Number of committed transactions to trigger a snapshot to disk. Deprecated in v3.6 and will be decommissioned in v3.7.
|
||||
--heartbeat-interval '100'
|
||||
Time (in milliseconds) of a heartbeat interval.
|
||||
--election-timeout '1000'
|
||||
|
@ -661,3 +661,22 @@ func TestEtcdTLSVersion(t *testing.T) {
|
||||
proc.Wait() // ensure the port has been released
|
||||
proc.Close()
|
||||
}
|
||||
|
||||
// TestEtcdDeprecatedFlags checks that etcd will print warning messages if deprecated flags are set.
|
||||
func TestEtcdDeprecatedFlags(t *testing.T) {
|
||||
e2e.SkipInShortMode(t)
|
||||
|
||||
proc, err := e2e.SpawnCmd(
|
||||
[]string{
|
||||
e2e.BinPath.Etcd,
|
||||
"--name", "e1",
|
||||
"--snapshot-count=100",
|
||||
}, nil,
|
||||
)
|
||||
require.NoError(t, err)
|
||||
require.NoError(t, e2e.WaitReadyExpectProc(context.TODO(), proc, []string{"--snapshot-count is deprecated in 3.6 and will be decommissioned in 3.7"}))
|
||||
require.NoError(t, proc.Stop())
|
||||
|
||||
proc.Wait() // ensure the port has been released
|
||||
proc.Close()
|
||||
}
|
||||
|
Reference in New Issue
Block a user