Skip to content

Commit

Permalink
config: completely remove the deprecated field from the PD server con…
Browse files Browse the repository at this point in the history
…fig (#8981)

close #8980

server/config: completely remove the deprecated field from the PD server config

Signed-off-by: nolouch <[email protected]>
  • Loading branch information
nolouch authored Jan 9, 2025
1 parent adddd4e commit 31a0ad6
Show file tree
Hide file tree
Showing 4 changed files with 7 additions and 27 deletions.
30 changes: 6 additions & 24 deletions server/config/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ import (
"crypto/tls"
"encoding/json"
"fmt"
"math"
"net/url"
"os"
"path/filepath"
Expand Down Expand Up @@ -507,9 +506,6 @@ type PDServerConfig struct {
MetricStorage string `toml:"metric-storage" json:"metric-storage"`
// There are some values supported: "auto", "none", or a specific address, default: "auto"
DashboardAddress string `toml:"dashboard-address" json:"dashboard-address"`
// TraceRegionFlow the option to update flow information of regions.
// WARN: TraceRegionFlow is deprecated.
TraceRegionFlow bool `toml:"trace-region-flow" json:"trace-region-flow,string,omitempty"`
// FlowRoundByDigit used to discretization processing flow information.
FlowRoundByDigit int `toml:"flow-round-by-digit" json:"flow-round-by-digit"`
// MinResolvedTSPersistenceInterval is the interval to save the min resolved ts.
Expand Down Expand Up @@ -573,37 +569,23 @@ func (c *PDServerConfig) adjust(meta *configutil.ConfigMetaData) error {
} else if c.GCTunerThreshold > maxGCTunerThreshold {
c.GCTunerThreshold = maxGCTunerThreshold
}
if err := c.migrateConfigurationFromFile(meta); err != nil {
if err := migrateConfigurationFromFile(meta); err != nil {
return err
}
return c.Validate()
}

func (c *PDServerConfig) migrateConfigurationFromFile(meta *configutil.ConfigMetaData) error {
func migrateConfigurationFromFile(meta *configutil.ConfigMetaData) error {
oldName, newName := "trace-region-flow", "flow-round-by-digit"
defineOld, defineNew := meta.IsDefined(oldName), meta.IsDefined(newName)
defineOld := meta.IsDefined(oldName)
switch {
case defineOld && defineNew:
if c.TraceRegionFlow && (c.FlowRoundByDigit == defaultFlowRoundByDigit) {
return errors.Errorf("config item %s and %s(deprecated) are conflict", newName, oldName)
}
case defineOld && !defineNew:
if !c.TraceRegionFlow {
c.FlowRoundByDigit = math.MaxInt8
}
case defineOld:
return errors.Errorf("config item %s and %s(deprecated) are conflict", newName, oldName)
default:
}
return nil
}

// MigrateDeprecatedFlags updates new flags according to deprecated flags.
func (c *PDServerConfig) MigrateDeprecatedFlags() {
if !c.TraceRegionFlow {
c.FlowRoundByDigit = math.MaxInt8
}
// json omity the false. next time will not persist to the kv.
c.TraceRegionFlow = false
}

// Clone returns a cloned PD server config.
func (c *PDServerConfig) Clone() *PDServerConfig {
runtimeServices := append(c.RuntimeServices[:0:0], c.RuntimeServices...)
Expand Down
2 changes: 1 addition & 1 deletion server/config/config_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -277,7 +277,7 @@ func TestMigrateFlags(t *testing.T) {
}
cfg, err := load(`
[pd-server]
trace-region-flow = false
flow-round-by-digit = 127
[schedule]
disable-remove-down-replica = true
enable-make-up-replica = false
Expand Down
1 change: 0 additions & 1 deletion server/config/persist_options.go
Original file line number Diff line number Diff line change
Expand Up @@ -817,7 +817,6 @@ func (o *PersistOptions) Reload(storage endpoint.ConfigStorage) error {
adjustScheduleCfg(&cfg.Schedule)
// Some fields may not be stored in the storage, we need to calculate them manually.
cfg.StoreConfig.Adjust()
cfg.PDServerCfg.MigrateDeprecatedFlags()
if isExist {
o.schedule.Store(&cfg.Schedule)
o.replication.Store(&cfg.Replication)
Expand Down
1 change: 0 additions & 1 deletion tools/pd-ctl/tests/config/config_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -150,7 +150,6 @@ func (suite *configTestSuite) checkConfig(cluster *pdTests.TestCluster) {
args = []string{"-u", pdAddr, "config", "set", "trace-region-flow", "false"}
_, err = tests.ExecuteCommand(cmd, args...)
re.NoError(err)
re.False(svr.GetPDServerConfig().TraceRegionFlow)

origin := svr.GetPDServerConfig().FlowRoundByDigit
args = []string{"-u", pdAddr, "config", "set", "flow-round-by-digit", "10"}
Expand Down

0 comments on commit 31a0ad6

Please sign in to comment.