Merge pull request #109601 from shiftstack/dirty_service

Prevent dirty service object leaking between reconciles
This commit is contained in:
Kubernetes Prow Robot 2022-07-27 18:15:10 -07:00 committed by GitHub
commit 914406da51
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -887,7 +887,10 @@ func (s *Controller) syncService(ctx context.Context, key string) error {
case err != nil:
runtime.HandleError(fmt.Errorf("Unable to retrieve service %v from store: %v", key, err))
default:
err = s.processServiceCreateOrUpdate(ctx, service, key)
// It is not safe to modify an object returned from an informer.
// As reconcilers may modify the service object we need to copy
// it first.
err = s.processServiceCreateOrUpdate(ctx, service.DeepCopy(), key)
}
return err