Skip to content

Commit de7708f

Browse files
authored
Merge pull request kubernetes#130316 from googs1025/flake/TestSchedulerGuaranteeNonNilNodeInSchedulingCycle
flake(scheduler): fix allWaitSchedulingPods data race failed
2 parents 97c7a16 + 04b048d commit de7708f

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

pkg/scheduler/schedule_one_test.go

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -638,17 +638,22 @@ func TestSchedulerGuaranteeNonNilNodeInSchedulingCycle(t *testing.T) {
638638
for i := 0; i < waitSchedulingPodNumber; i++ {
639639
allWaitSchedulingPods.Insert(fmt.Sprintf("pod%d", i))
640640
}
641-
var wg sync.WaitGroup
641+
var (
642+
wg sync.WaitGroup
643+
mu sync.Mutex
644+
)
642645
wg.Add(waitSchedulingPodNumber)
643646
stopFn, err := broadcaster.StartEventWatcher(func(obj runtime.Object) {
644647
e, ok := obj.(*eventsv1.Event)
645648
if !ok || (e.Reason != "Scheduled" && e.Reason != "FailedScheduling") {
646649
return
647650
}
651+
mu.Lock()
648652
if allWaitSchedulingPods.Has(e.Regarding.Name) {
649653
wg.Done()
650654
allWaitSchedulingPods.Delete(e.Regarding.Name)
651655
}
656+
mu.Unlock()
652657
})
653658
if err != nil {
654659
t.Fatal(err)

0 commit comments

Comments
 (0)