Make sure volcano schduler cache synced before first scheduling by waiting for handlers sync.
Ⅰ. Describe what this PR does
The issue https://github.com/kubernetes/kubernetes/issues/116717 mentions the bug that event handlers hadn't handled all events when informer cache synced. This can lead to a terrible result, which is that the scheduler starts scheduling in the wrong state. The K8s community itself has fixed this issue https://github.com/kubernetes/kubernetes/pull/116729.
The PR makes sure handlers have finished syncing before the scheduling cycles start, just like the default scheduler does.
[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To complete the pull request process, please assign thor-wl
You can assign the PR to them by writing /assign @thor-wl in a comment when ready.
The full list of commands accepted by this bot can be found here.
Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment
Is it same with wait for all items handled before start to scheduling #2822?
same
It looks like the two are similar. If the other one is merged, I will close this pr.
Is this still relevant? If so, what is blocking it? Is there anything you can do to help move it forward?
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs.
We'd better include this feature in new release. @Monokaix @william-wang
Please rebase your pr: )
I will rebase the code as soon as possible
@lowang-bh The code rebase is done. Could you review these codes, please?
Does volcano controller also need catch this?
Does volcano controller also need catch this?
I don't think so. The controller just needs to make sure it's eventual consistency, waiting for cache sync is enough
@RamezesDong: PR needs rebase.
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.