From 5e722223cdc06649cd328236a123c0ea8d618412 Mon Sep 17 00:00:00 2001 From: Yuki Iwai Date: Thu, 8 Feb 2024 05:55:40 +0900 Subject: [PATCH] Add the possibility of increasing consumed resources Signed-off-by: Yuki Iwai --- .../3998-job-success-completion-policy/README.md | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/keps/sig-apps/3998-job-success-completion-policy/README.md b/keps/sig-apps/3998-job-success-completion-policy/README.md index 840047923a21..4dd76c207a42 100644 --- a/keps/sig-apps/3998-job-success-completion-policy/README.md +++ b/keps/sig-apps/3998-job-success-completion-policy/README.md @@ -223,7 +223,7 @@ we probably can not evaluate the SuccessPolicy correctly. - If we allow to set unlimited size of the value in `.spec.successPolicy.criteria.succeededIndexes`, we have a risk similar to [KEP-3850: Backoff Limits Per Index For Indexed Jobs](https://github.com/kubernetes/enhancements/tree/76dcd4f342cc0388feb085e685d4cc018ebe1dc9/keps/sig-apps/3850-backoff-limits-per-index-for-indexed-jobs#risks-and-mitigations). -So, we limit the size of `succeededIndexes` to 64Ki. +So, we limit the size of `succeededIndexes` to 64KiB. ## Design Details @@ -559,6 +559,9 @@ No. ###### Will enabling / using this feature result in any new API calls? +Yes, if the Job meets the SuccessPolicy, +the job-controller must make an additional API call to update the condition with `SuccessCriteriaMet`. + No. ###### Will enabling / using this feature result in introducing new API types? @@ -583,7 +586,9 @@ No. ###### Will enabling / using this feature result in non-negligible increase of resource usage (CPU, RAM, disk, IO, ...) in any components? -No. +Yes, the job-controller will consume more CPU and memory to compute the set of indexes from the `succeededIndexes`. +Especially, if there are many of them (approaching the maximum size of them, 64KiB), +the consumed resources might be non-negligible. ###### Can enabling / using this feature result in resource exhaustion of some node resources (PIDs, sockets, inodes, etc.)? @@ -702,7 +707,7 @@ type SuccessPolicyCriterion struct { } ``` -### Use JobSet instead of Indexes Job +### Use JobSet instead of Indexed Job The [JobSet](https://github.com/kubernetes-sigs/jobset) is a custom resource for managing a group of Job as a unit.