Merge pull request #100553 from adtac/suspend-intfail

job controller: don't mutate shared cache object
This commit is contained in:
Kubernetes Prow Robot 2021-03-25 10:31:29 -07:00 committed by GitHub
commit 4333e5caa7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 2 additions and 6 deletions

View File

@ -462,7 +462,8 @@ func (jm *Controller) syncJob(key string) (bool, error) {
}
return false, err
}
job := *sharedJob
// make a copy so we don't mutate the shared cache
job := *sharedJob.DeepCopy()
// if job was finished previously, we don't want to redo the termination
if IsJobFinished(&job) {

View File

@ -278,7 +278,6 @@ func TestSuspendJob(t *testing.T) {
wantReason string
}
testCases := []struct {
short bool
featureGate bool
create step
update step
@ -286,7 +285,6 @@ func TestSuspendJob(t *testing.T) {
// Exhaustively test all combinations other than trivial true->true and
// false->false cases.
{
short: true,
featureGate: true,
create: step{flag: false, wantActive: 2},
update: step{flag: true, wantActive: 0, wantStatus: v1.ConditionTrue, wantReason: "Suspended"},
@ -311,9 +309,6 @@ func TestSuspendJob(t *testing.T) {
for _, tc := range testCases {
name := fmt.Sprintf("feature=%v,create=%v,update=%v", tc.featureGate, tc.create.flag, tc.update.flag)
t.Run(name, func(t *testing.T) {
if testing.Short() && !tc.short {
t.Skip("skipping expensive subtest")
}
defer featuregatetesting.SetFeatureGateDuringTest(t, feature.DefaultFeatureGate, features.SuspendJob, tc.featureGate)()
closeFn, restConfig, clientSet, ns := setup(t, "suspend")