diff --git a/config/config.go b/config/config.go index a83df687ccae4..f5b77a96b0bf5 100644 --- a/config/config.go +++ b/config/config.go @@ -708,6 +708,22 @@ func InitializeConfig(confPath string, configCheck, configStrict bool, reloadFun } } enforceCmdArgs(cfg) + + if err := cfg.Valid(); err != nil { + if !filepath.IsAbs(confPath) { + if tmp, err := filepath.Abs(confPath); err == nil { + confPath = tmp + } + } + fmt.Fprintln(os.Stderr, "load config file:", confPath) + fmt.Fprintln(os.Stderr, "invalid config", err) + os.Exit(1) + } + if configCheck { + fmt.Println("config check successful") + os.Exit(0) + } + globalConfHandler, err = NewConfHandler(confPath, cfg, reloadFunc, nil) terror.MustNil(err) globalConfHandler.Start() diff --git a/tidb-server/main.go b/tidb-server/main.go index 339eda10db884..15255d58f9e40 100644 --- a/tidb-server/main.go +++ b/tidb-server/main.go @@ -161,21 +161,6 @@ func main() { registerStores() registerMetrics() config.InitializeConfig(*configPath, *configCheck, *configStrict, reloadConfig, overrideConfig) - if err := config.GetGlobalConfig().Valid(); err != nil { - absConfigPath := *configPath - if !filepath.IsAbs(absConfigPath) { - if tmp, err := filepath.Abs(absConfigPath); err == nil { - absConfigPath = tmp - } - } - fmt.Fprintln(os.Stderr, "load config file:", absConfigPath) - fmt.Fprintln(os.Stderr, "invalid config", err) - os.Exit(1) - } - if *configCheck { - fmt.Println("config check successful") - os.Exit(0) - } setGlobalVars() setCPUAffinity() setupLog()