Skip to content

Commit

Permalink
make test stable
Browse files Browse the repository at this point in the history
Signed-off-by: lhy1024 <[email protected]>
  • Loading branch information
lhy1024 committed Oct 30, 2023
1 parent 2f5ca61 commit 77c19d4
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 7 deletions.
5 changes: 3 additions & 2 deletions pkg/schedule/handler/handler.go
Original file line number Diff line number Diff line change
Expand Up @@ -837,8 +837,9 @@ func (h *Handler) GetSchedulerByStatus(status string, needTS bool) (interface{},
}
return disabledSchedulers, nil
default:
// The default scheduler could not be deleted, it could only be disabled.
// TODO: Should we distinguish between disabled and removed schedulers?
// The default scheduler could not be deleted in scheduling server,
// so schedulers could only be disabled.
// We should not return the disabled schedulers here.
var enabledSchedulers []string
for _, scheduler := range schedulers {
disabled, err := sc.IsSchedulerDisabled(scheduler)
Expand Down
8 changes: 5 additions & 3 deletions tests/pdctl/scheduler/scheduler_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -279,7 +279,7 @@ func (suite *schedulerTestSuite) checkScheduler(cluster *tests.TestCluster) {
re.Equal(expected3, conf3)
}

// test balance region config
// test remove and add scheduler
echo := mustExec(re, cmd, []string{"-u", pdAddr, "scheduler", "add", "balance-region-scheduler"}, nil)
re.Contains(echo, "Success!")
echo = mustExec(re, cmd, []string{"-u", pdAddr, "scheduler", "remove", "balance-region-scheduler"}, nil)
Expand All @@ -294,10 +294,12 @@ func (suite *schedulerTestSuite) checkScheduler(cluster *tests.TestCluster) {
re.Contains(echo, "Success!")
echo = mustExec(re, cmd, []string{"-u", pdAddr, "scheduler", "remove", "evict-leader-scheduler-1"}, nil)
re.Contains(echo, "404")
testutil.Eventually(re, func() bool { // wait for removed scheduler to be synced to scheduling server.
echo = mustExec(re, cmd, []string{"-u", pdAddr, "scheduler", "config", "evict-leader-scheduler"}, nil)
return strings.Contains(echo, "[404] scheduler not found")
})

// test hot region config
echo = mustExec(re, cmd, []string{"-u", pdAddr, "scheduler", "config", "evict-leader-scheduler"}, nil)
re.Contains(echo, "[404] scheduler not found")
expected1 := map[string]interface{}{
"min-hot-byte-rate": float64(100),
"min-hot-key-rate": float64(10),
Expand Down
9 changes: 7 additions & 2 deletions tests/server/api/scheduler_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -232,7 +232,7 @@ func (suite *scheduleTestSuite) checkAPI(cluster *tests.TestCluster) {
resp = make(map[string]interface{})
suite.NoError(tu.ReadGetJSON(re, testDialClient, listURL, &resp))
// FIXME: remove this check after scheduler config is updated
if cluster.GetSchedulingPrimaryServer() == nil {
if cluster.GetSchedulingPrimaryServer() == nil { // "balance-hot-region-scheduler"
for key := range expectMap {
suite.Equal(expectMap[key], resp[key], "key %s", key)
}
Expand Down Expand Up @@ -473,6 +473,7 @@ func (suite *scheduleTestSuite) checkAPI(cluster *tests.TestCluster) {
testCase.extraTestFunc(testCase.createdName)
}
suite.deleteScheduler(urlPrefix, testCase.createdName)
suite.assertNoScheduler(re, urlPrefix, testCase.createdName)
}

// test pause and resume all schedulers.
Expand All @@ -487,6 +488,7 @@ func (suite *scheduleTestSuite) checkAPI(cluster *tests.TestCluster) {
body, err := json.Marshal(input)
suite.NoError(err)
suite.addScheduler(urlPrefix, body)
suite.assertSchedulerExists(re, urlPrefix, testCase.createdName) // wait for scheduler to be synced.
if testCase.extraTestFunc != nil {
testCase.extraTestFunc(testCase.createdName)
}
Expand Down Expand Up @@ -550,6 +552,7 @@ func (suite *scheduleTestSuite) checkAPI(cluster *tests.TestCluster) {
createdName = testCase.name
}
suite.deleteScheduler(urlPrefix, createdName)
suite.assertNoScheduler(re, urlPrefix, createdName)
}
}

Expand Down Expand Up @@ -586,7 +589,7 @@ func (suite *scheduleTestSuite) checkDisable(cluster *tests.TestCluster) {
err = tu.CheckPostJSON(testDialClient, u, body, tu.StatusOK(re))
suite.NoError(err)

// TODO: Should we distinguish between disabled and removed schedulers?
suite.assertNoScheduler(re, urlPrefix, name)
suite.assertSchedulerExists(re, fmt.Sprintf("%s?status=disabled", urlPrefix), name)

// reset schedule config
Expand All @@ -597,6 +600,7 @@ func (suite *scheduleTestSuite) checkDisable(cluster *tests.TestCluster) {
suite.NoError(err)

suite.deleteScheduler(urlPrefix, name)
suite.assertNoScheduler(re, urlPrefix, name)
}

func (suite *scheduleTestSuite) addScheduler(urlPrefix string, body []byte) {
Expand All @@ -621,6 +625,7 @@ func (suite *scheduleTestSuite) testPauseOrResume(urlPrefix string, name, create
err := tu.CheckPostJSON(testDialClient, urlPrefix, body, tu.StatusOK(re))
re.NoError(err)
}
suite.assertSchedulerExists(re, urlPrefix, createdName) // wait for scheduler to be synced.

// test pause.
input := make(map[string]interface{})
Expand Down

0 comments on commit 77c19d4

Please sign in to comment.