New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
WIP: Remove the "100 missed start times" CronJob limit #89397
Conversation
Co-Authored-By: Tom Wanielista <tomwans@users.noreply.github.com> Co-Authored-By: Kevin Yang <16491459+yangkev@users.noreply.github.com>
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: vllry The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
/uncc @soltysh /test pull-kubernetes-conformance-kind-ga-only-parallel |
/test pull-kubernetes-e2e-kind |
@vllry: The following test failed, say
Full PR test history. Your PR dashboard. Please help us cut down on flakes by linking to an open issue when you hit one in your PR. 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. I understand the commands that are listed here. |
Issues go stale after 90d of inactivity. If this issue is safe to close now please do so with Send feedback to sig-testing, kubernetes/test-infra and/or fejta. |
@vllry: 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. |
Stale issues rot after 30d of inactivity. If this issue is safe to close now please do so with Send feedback to sig-testing, kubernetes/test-infra and/or fejta. |
Rotten issues close after 30d of inactivity. Send feedback to sig-testing, kubernetes/test-infra and/or fejta. |
@fejta-bot: Closed this PR. In response to this:
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. |
/reopen |
@alexey-gavrilov-flant: You can't reopen an issue/PR unless you authored it or you are a collaborator. In response to this:
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. |
@vllry is there any reason why this PR didn't get attention?
|
There's a new cronjob controller being written see #93370 |
@soltysh The new cronjob controller has the same problem, according to this comment #81557 (comment) I think this PR might be redundant with that one, #81557, though. |
(This code was written as a patch, and needs some cleanup to directly solve the problem in k/k).
Removes the 100 missed schedule times limit from CronJobs.
Introduces a binary search approach with the
schedule.Next()
function in the existing 3rd party cron module. The binary search provides a much sharper upper bound on the timespan checked, and number of Next() calls. EG, a minutely CronJob that has been failing for a year requires checking only ~20 Next() calls (log2(60*24*365) + 1
) in order to get the most recent missed schedule.Co-Authored-By: Tom Wanielista tomwans@users.noreply.github.com
Co-Authored-By: Kevin Yang 16491459+yangkev@users.noreply.github.com
What type of PR is this?
/kind bug
What this PR does / why we need it:
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?:
Additional documentation e.g., KEPs (Kubernetes Enhancement Proposals), usage docs, etc.:
Needs doc updates, TBD.