Skip to content
This repository has been archived by the owner on Jul 24, 2024. It is now read-only.

Commit

Permalink
validate: manual reset pd config back
Browse files Browse the repository at this point in the history
  • Loading branch information
3pointer committed Sep 25, 2020
1 parent a46e0bc commit 692ff81
Show file tree
Hide file tree
Showing 2 changed files with 57 additions and 2 deletions.
55 changes: 55 additions & 0 deletions cmd/validate.go
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ func NewValidateCommand() *cobra.Command {
meta.AddCommand(newBackupMetaCommand())
meta.AddCommand(decodeBackupMetaCommand())
meta.AddCommand(encodeBackupMetaCommand())
meta.AddCommand(setPDConfigCommand())
meta.Hidden = true

return meta
Expand Down Expand Up @@ -323,3 +324,57 @@ func encodeBackupMetaCommand() *cobra.Command {
}
return encodeBackupMetaCmd
}

func setPDConfigCommand() *cobra.Command {
pdConfigCmd := &cobra.Command{
Use: "reset-pd-config-as-default",
Short: "reset pd scheduler and config adjusted by BR to default value",
RunE: func(cmd *cobra.Command, args []string) error {
ctx, cancel := context.WithCancel(GetDefaultContext())
defer cancel()

var cfg task.Config
if err := cfg.ParseFromFlags(cmd.Flags()); err != nil {
return err
}

mgr, err := task.NewMgr(ctx, tidbGlue, cfg.PD, cfg.TLS, cfg.CheckRequirements)
if err != nil {
return err
}
defer mgr.Close()

// these schedulers open by default
defaultSchedulers := []string{
"balance-leader-scheduler",
"balance-hot-region-scheduler",
"balance-region-scheduler",
}
for _, sche := range defaultSchedulers {
err := mgr.AddScheduler(ctx, sche)
if err != nil {
return err
}
}
log.Info("add pd schedulers succeed",
zap.Strings("schedulers", defaultSchedulers))

// set default config find by
// https://github.com/tikv/pd/blob/master/conf/config.toml
defaultMergeCfg := map[string]interface{} {
"max-merge-region-keys":200000,
"max-merge-region-size":20,
"leader-schedule-limit": 4,
"region-schedule-limit": 2048,
"max-snapshot-count": 3,
}
if err := mgr.UpdatePDScheduleConfig(ctx, defaultMergeCfg); err != nil {
return errors.Annotate(err, "fail to update PD merge config")
}
log.Info("add pd configs succeed", zap.Any("config", defaultMergeCfg))
return nil
},
}
return pdConfigCmd

}
4 changes: 2 additions & 2 deletions pkg/task/common.go
Original file line number Diff line number Diff line change
Expand Up @@ -277,8 +277,8 @@ func (cfg *Config) ParseFromFlags(flags *pflag.FlagSet) error {
return cfg.TLS.ParseFromFlags(flags)
}

// newMgr creates a new mgr at the given PD address.
func newMgr(ctx context.Context,
// NewMgr creates a new mgr at the given PD address.
func NewMgr(ctx context.Context,
g glue.Glue, pds []string,
tlsConfig TLSConfig,
checkRequirements bool) (*conn.Mgr, error) {
Expand Down

0 comments on commit 692ff81

Please sign in to comment.