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

Commit

Permalink
address comment
Browse files Browse the repository at this point in the history
  • Loading branch information
3pointer committed Sep 27, 2020
1 parent b050d8b commit b4102a0
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 27 deletions.
35 changes: 12 additions & 23 deletions cmd/validate.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import (
"encoding/hex"
"encoding/json"
"fmt"
"strings"

"github.com/gogo/protobuf/proto"
"github.com/pingcap/errors"
Expand All @@ -20,6 +21,7 @@ import (
"github.com/tikv/pd/pkg/mock/mockid"
"go.uber.org/zap"

"github.com/pingcap/br/pkg/conn"
"github.com/pingcap/br/pkg/restore"
"github.com/pingcap/br/pkg/rtree"
"github.com/pingcap/br/pkg/task"
Expand Down Expand Up @@ -344,34 +346,21 @@ func setPDConfigCommand() *cobra.Command {
}
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
for scheduler := range conn.Schedulers {
if strings.HasPrefix(scheduler, "balance") {
err := mgr.AddScheduler(ctx, scheduler)
if err != nil {
return err
}
log.Info("add pd schedulers succeed",
zap.String("schedulers", scheduler))
}
}
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 {
if err := mgr.UpdatePDScheduleConfig(ctx, conn.DefaultPDCfg); err != nil {
return errors.Annotate(err, "fail to update PD merge config")
}
log.Info("add pd configs succeed", zap.Any("config", defaultMergeCfg))
log.Info("add pd configs succeed", zap.Any("config", conn.DefaultPDCfg))
return nil
},
}
Expand Down
15 changes: 13 additions & 2 deletions pkg/conn/scheduler_utils.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,8 @@ type clusterConfig struct {
}

var (
schedulers = map[string]struct{}{
// Schedulers represent region/leader schedulers which can impact on performance.
Schedulers = map[string]struct{}{
"balance-leader-scheduler": {},
"balance-hot-region-scheduler": {},
"balance-region-scheduler": {},
Expand All @@ -30,6 +31,7 @@ var (
"shuffle-region-scheduler": {},
"shuffle-hot-region-scheduler": {},
}

pdRegionMergeCfg = []string{
"max-merge-region-keys",
"max-merge-region-size",
Expand All @@ -39,6 +41,15 @@ var (
"region-schedule-limit",
"max-snapshot-count",
}

// DefaultPDCfg find by https://github.com/tikv/pd/blob/master/conf/config.toml.
DefaultPDCfg = 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,
}
)

func addPDLeaderScheduler(ctx context.Context, mgr *Mgr, removedSchedulers []string) error {
Expand Down Expand Up @@ -101,7 +112,7 @@ func (mgr *Mgr) RemoveSchedulers(ctx context.Context) (undo utils.UndoFunc, err
}
needRemoveSchedulers := make([]string, 0, len(existSchedulers))
for _, s := range existSchedulers {
if _, ok := schedulers[s]; ok {
if _, ok := Schedulers[s]; ok {
needRemoveSchedulers = append(needRemoveSchedulers, s)
}
}
Expand Down
4 changes: 2 additions & 2 deletions tests/br_other/run.sh
Original file line number Diff line number Diff line change
Expand Up @@ -108,9 +108,9 @@ pd_settings=5
run_br validate reset-pd-config-as-default

# max-merge-region-size set to default 20
curl http://$PD_ADDR/pd/api/v1/config/schedule | jq '[."max-merge-region-size"]' | grep "20" || ((pd_settings--))
curl http://$PD_ADDR/pd/api/v1/config/schedule | jq '."max-merge-region-size"' | grep "20" || ((pd_settings--))
# max-merge-region-keys set to default 200000
curl http://$PD_ADDR/pd/api/v1/config/schedule | jq '[."max-merge-region-keys"]' | grep "200000" || ((pd_settings--))
curl http://$PD_ADDR/pd/api/v1/config/schedule | jq '."max-merge-region-keys"' | grep "200000" || ((pd_settings--))
# balance-region scheduler enabled
curl http://$PD_ADDR/pd/api/v1/config/schedule | jq '[."schedulers-v2"][0][0]' | grep '"disable": false' || ((pd_settings--))
# balance-leader scheduler enabled
Expand Down

0 comments on commit b4102a0

Please sign in to comment.