Merge pull request #121771 from pohly/apimachinery-encoding-shortcut

encoding: avoid setting GVK unnecessarily
This commit is contained in:
Kubernetes Prow Robot 2023-12-13 23:54:34 +01:00 committed by GitHub
commit 508e3b94fe
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -236,10 +236,14 @@ func (e WithVersionEncoder) Encode(obj Object, stream io.Writer) error {
gvk = preferredGVK
}
}
kind.SetGroupVersionKind(gvk)
err = e.Encoder.Encode(obj, stream)
kind.SetGroupVersionKind(oldGVK)
return err
// The gvk only needs to be set if not already as desired.
if gvk != oldGVK {
kind.SetGroupVersionKind(gvk)
defer kind.SetGroupVersionKind(oldGVK)
}
return e.Encoder.Encode(obj, stream)
}
// WithoutVersionDecoder clears the group version kind of a deserialized object.