From 292970d299b4a5b113c148fc23488b11542c8dd5 Mon Sep 17 00:00:00 2001 From: Dimitar Mirchev Date: Wed, 21 Jun 2023 09:31:14 +0300 Subject: [PATCH] Improve some map initializations (#8070) --- extensions/pkg/controller/controlplane/utils.go | 2 +- pkg/admissioncontroller/seedidentity/identity.go | 2 +- pkg/admissioncontroller/webhook/auth/seed/attributes.go | 2 +- pkg/apis/core/v1beta1/conversions.go | 2 +- pkg/apis/core/validation/project.go | 2 +- .../original/components/kernelconfig/component.go | 2 +- .../controller/certificatesigningrequest/reconciler.go | 2 +- pkg/operation/operation.go | 2 +- pkg/resourcemanager/controller/managedresource/merger.go | 2 +- pkg/resourcemanager/controller/networkpolicy/reconciler.go | 2 +- pkg/utils/imagevector/imagevector.go | 2 +- pkg/utils/miscellaneous.go | 4 ++-- pkg/utils/secrets/basic_auth.go | 2 +- test/framework/shootmigrationtest.go | 2 +- test/utils/shoots/update/update.go | 2 +- 15 files changed, 16 insertions(+), 16 deletions(-) diff --git a/extensions/pkg/controller/controlplane/utils.go b/extensions/pkg/controller/controlplane/utils.go index c8641cf9503..f9fba16986c 100644 --- a/extensions/pkg/controller/controlplane/utils.go +++ b/extensions/pkg/controller/controlplane/utils.go @@ -22,7 +22,7 @@ import ( // MergeSecretMaps merges the 2 given secret maps. func MergeSecretMaps(a, b map[string]*corev1.Secret) map[string]*corev1.Secret { - x := make(map[string]*corev1.Secret) + x := make(map[string]*corev1.Secret, len(a)) for _, m := range []map[string]*corev1.Secret{a, b} { for k, v := range m { x[k] = v diff --git a/pkg/admissioncontroller/seedidentity/identity.go b/pkg/admissioncontroller/seedidentity/identity.go index 25c7a8deb68..6e40d70381e 100644 --- a/pkg/admissioncontroller/seedidentity/identity.go +++ b/pkg/admissioncontroller/seedidentity/identity.go @@ -73,7 +73,7 @@ func convertAuthenticationV1ExtraValueToUserInfoExtra(extra map[string]authentic if extra == nil { return nil } - ret := map[string][]string{} + ret := make(map[string][]string, len(extra)) for k, v := range extra { ret[k] = v } diff --git a/pkg/admissioncontroller/webhook/auth/seed/attributes.go b/pkg/admissioncontroller/webhook/auth/seed/attributes.go index d7c0fa873fd..d308cbb6fcb 100644 --- a/pkg/admissioncontroller/webhook/auth/seed/attributes.go +++ b/pkg/admissioncontroller/webhook/auth/seed/attributes.go @@ -77,7 +77,7 @@ func convertToUserInfoExtra(extra map[string]authorizationv1.ExtraValue) map[str if extra == nil { return nil } - ret := map[string][]string{} + ret := make(map[string][]string, len(extra)) for k, v := range extra { ret[k] = v } diff --git a/pkg/apis/core/v1beta1/conversions.go b/pkg/apis/core/v1beta1/conversions.go index 1e2182c590e..72306fd5406 100644 --- a/pkg/apis/core/v1beta1/conversions.go +++ b/pkg/apis/core/v1beta1/conversions.go @@ -120,7 +120,7 @@ func Convert_v1beta1_InternalSecret_To_core_InternalSecret(in *InternalSecret, o // StringData overwrites Data if len(in.StringData) > 0 { if out.Data == nil { - out.Data = map[string][]byte{} + out.Data = make(map[string][]byte, len(in.StringData)) } for k, v := range in.StringData { out.Data[k] = []byte(v) diff --git a/pkg/apis/core/validation/project.go b/pkg/apis/core/validation/project.go index 540c083bd8f..c32aada5444 100644 --- a/pkg/apis/core/validation/project.go +++ b/pkg/apis/core/validation/project.go @@ -175,7 +175,7 @@ func ValidateProjectMember(member core.ProjectMember, fldPath *field.Path) field allErrs = append(allErrs, ValidateSubject(member.Subject, fldPath)...) - foundRoles := map[string]struct{}{} + foundRoles := make(map[string]struct{}, len(member.Roles)) for i, role := range member.Roles { rolesPath := fldPath.Child("roles").Index(i) diff --git a/pkg/component/extensions/operatingsystemconfig/original/components/kernelconfig/component.go b/pkg/component/extensions/operatingsystemconfig/original/components/kernelconfig/component.go index 24d317df2ce..d1cffcede8b 100644 --- a/pkg/component/extensions/operatingsystemconfig/original/components/kernelconfig/component.go +++ b/pkg/component/extensions/operatingsystemconfig/original/components/kernelconfig/component.go @@ -40,7 +40,7 @@ func (component) Name() string { } func (component) Config(ctx components.Context) ([]extensionsv1alpha1.Unit, []extensionsv1alpha1.File, error) { - var newData = map[string]string{} + var newData = make(map[string]string, len(data)) for key, value := range data { newData[key] = value diff --git a/pkg/controllermanager/controller/certificatesigningrequest/reconciler.go b/pkg/controllermanager/controller/certificatesigningrequest/reconciler.go index 554cb97a61c..8ff20847fcf 100644 --- a/pkg/controllermanager/controller/certificatesigningrequest/reconciler.go +++ b/pkg/controllermanager/controller/certificatesigningrequest/reconciler.go @@ -55,7 +55,6 @@ func (r *Reconciler) Reconcile(ctx context.Context, request reconcile.Request) ( isInFinalState bool finalState string - extra = make(map[string]authorizationv1.ExtraValue) ) ctx, cancel := controllerutils.GetMainReconciliationContext(ctx, controllerutils.DefaultReconciliationTimeout) @@ -77,6 +76,7 @@ func (r *Reconciler) Reconcile(ctx context.Context, request reconcile.Request) ( } } + extra := make(map[string]authorizationv1.ExtraValue, len(csr.Spec.Extra)) for k, v := range csr.Spec.Extra { extra[k] = authorizationv1.ExtraValue(v) } diff --git a/pkg/operation/operation.go b/pkg/operation/operation.go index 998f06906dc..b620d7c5710 100644 --- a/pkg/operation/operation.go +++ b/pkg/operation/operation.go @@ -215,7 +215,7 @@ func (b *Builder) Build( if err != nil { return nil, err } - secrets := make(map[string]*corev1.Secret) + secrets := make(map[string]*corev1.Secret, len(secretsMap)) for k, v := range secretsMap { secrets[k] = v } diff --git a/pkg/resourcemanager/controller/managedresource/merger.go b/pkg/resourcemanager/controller/managedresource/merger.go index e68ef4d5aec..ad7664fee74 100644 --- a/pkg/resourcemanager/controller/managedresource/merger.go +++ b/pkg/resourcemanager/controller/managedresource/merger.go @@ -415,7 +415,7 @@ func mergeServiceAccount(scheme *runtime.Scheme, oldObj, newObj runtime.Object) // It takes an optional map of old desired values and removes any keys/values from the resulting map // that were once desired (part of `old`) but are not desired anymore. func mergeMapsBasedOnOldMap(desired, current, old map[string]string) map[string]string { - out := map[string]string{} + out := make(map[string]string, len(current)) // use current as base for k, v := range current { out[k] = v diff --git a/pkg/resourcemanager/controller/networkpolicy/reconciler.go b/pkg/resourcemanager/controller/networkpolicy/reconciler.go index a56a1d386a2..072ed9c47a0 100644 --- a/pkg/resourcemanager/controller/networkpolicy/reconciler.go +++ b/pkg/resourcemanager/controller/networkpolicy/reconciler.go @@ -267,7 +267,7 @@ func (r *Reconciler) reconcileDesiredPolicies(ctx context.Context, service *core } func (r *Reconciler) deleteStalePolicies(networkPolicyList *metav1.PartialObjectMetadataList, desiredObjectMetaKeys []string) []flow.TaskFn { - objectMetaKeysForDesiredPolicies := make(map[string]struct{}) + objectMetaKeysForDesiredPolicies := make(map[string]struct{}, len(desiredObjectMetaKeys)) for _, objectMetaKey := range desiredObjectMetaKeys { objectMetaKeysForDesiredPolicies[objectMetaKey] = struct{}{} } diff --git a/pkg/utils/imagevector/imagevector.go b/pkg/utils/imagevector/imagevector.go index d6187186bd2..8bf657b15cd 100644 --- a/pkg/utils/imagevector/imagevector.go +++ b/pkg/utils/imagevector/imagevector.go @@ -349,7 +349,7 @@ func (v ImageVector) FindImage(name string, opts ...FindOptionFunc) (*Image, err // In case multiple images match the search, the first which was found is returned. // In case no image was found, an error is returned. func FindImages(v ImageVector, names []string, opts ...FindOptionFunc) (map[string]*Image, error) { - images := map[string]*Image{} + images := make(map[string]*Image, len(names)) for _, imageName := range names { image, err := v.FindImage(imageName, opts...) if err != nil { diff --git a/pkg/utils/miscellaneous.go b/pkg/utils/miscellaneous.go index a987a0d6bf1..73d5ef3c653 100644 --- a/pkg/utils/miscellaneous.go +++ b/pkg/utils/miscellaneous.go @@ -40,7 +40,7 @@ func ValueExists(value string, list []string) bool { // MergeMaps takes two maps , and merges them. If defines a value with a key // already existing in the map, the value for that key will be overwritten. func MergeMaps(a, b map[string]interface{}) map[string]interface{} { - var values = map[string]interface{}{} + var values = make(map[string]interface{}, len(b)) for i, v := range b { existing, ok := a[i] @@ -73,7 +73,7 @@ func MergeStringMaps[T any](oldMap map[string]T, newMaps ...map[string]T) map[st var out map[string]T if oldMap != nil { - out = make(map[string]T) + out = make(map[string]T, len(oldMap)) } for k, v := range oldMap { out[k] = v diff --git a/pkg/utils/secrets/basic_auth.go b/pkg/utils/secrets/basic_auth.go index 35ee79d0167..faee10a0fd8 100644 --- a/pkg/utils/secrets/basic_auth.go +++ b/pkg/utils/secrets/basic_auth.go @@ -80,7 +80,7 @@ func (s *BasicAuthSecretConfig) Generate() (DataInterface, error) { // SecretData computes the data map which can be used in a Kubernetes secret. func (b *BasicAuth) SecretData() map[string][]byte { - data := map[string][]byte{} + data := make(map[string][]byte, 3) data[DataKeyUserName] = []byte(b.Username) data[DataKeyPassword] = []byte(b.Password) diff --git a/test/framework/shootmigrationtest.go b/test/framework/shootmigrationtest.go index a21426b58b3..0e55e911682 100644 --- a/test/framework/shootmigrationtest.go +++ b/test/framework/shootmigrationtest.go @@ -254,7 +254,7 @@ func (t *ShootMigrationTest) GetPersistedSecrets(ctx context.Context, seedClient return nil, err } - secretsMap := map[string]corev1.Secret{} + secretsMap := make(map[string]corev1.Secret, len(secretList.Items)) for _, secret := range secretList.Items { secretsMap[secret.Name] = secret } diff --git a/test/utils/shoots/update/update.go b/test/utils/shoots/update/update.go index 3eb0aa7f6a3..f75e7dd3a61 100644 --- a/test/utils/shoots/update/update.go +++ b/test/utils/shoots/update/update.go @@ -194,7 +194,7 @@ func verifyKubernetesVersions(ctx context.Context, shootClient kubernetes.Interf return fmt.Errorf("control plane version is %q but expected %q", shootClient.Version(), expectedControlPlaneKubernetesVersion) } - poolNameToKubernetesVersion := map[string]string{} + poolNameToKubernetesVersion := make(map[string]string, len(shoot.Spec.Provider.Workers)) for _, worker := range shoot.Spec.Provider.Workers { poolKubernetesVersion, err := v1beta1helper.CalculateEffectiveKubernetesVersion(controlPlaneKubernetesVersion, worker.Kubernetes) if err != nil {