From 6aeb92f024abfc543a1b49cae37e943c99e0ee1b Mon Sep 17 00:00:00 2001 From: zvier Date: Tue, 9 Feb 2021 16:35:24 +0800 Subject: [PATCH] code optimization (#1350) * pre-allocate cap for slice structure * if clause is no need because of range, and kubelet also use range method to get each capability so there is no side-effect Signed-off-by: Jeff Zvier --- pkg/cluster/k8sres.go | 15 ++++++--------- pkg/cluster/k8sres_test.go | 4 ++-- 2 files changed, 8 insertions(+), 11 deletions(-) diff --git a/pkg/cluster/k8sres.go b/pkg/cluster/k8sres.go index b1a8adb0b..3e199e935 100644 --- a/pkg/cluster/k8sres.go +++ b/pkg/cluster/k8sres.go @@ -321,16 +321,13 @@ func getLocalAndBoostrapPostgreSQLParameters(parameters map[string]string) (loca } func generateCapabilities(capabilities []string) v1.Capabilities { - if len(capabilities) > 0 { - additionalCapabilities := []v1.Capability{} - for _, capability := range capabilities { - additionalCapabilities = append(additionalCapabilities, v1.Capability(strings.ToUpper(capability))) - } - return v1.Capabilities{ - Add: additionalCapabilities, - } + additionalCapabilities := make([]v1.Capability, 0, len(capabilities)) + for _, capability := range capabilities { + additionalCapabilities = append(additionalCapabilities, v1.Capability(strings.ToUpper(capability))) + } + return v1.Capabilities{ + Add: additionalCapabilities, } - return v1.Capabilities{} } func nodeAffinity(nodeReadinessLabel map[string]string, nodeAffinity *v1.NodeAffinity) *v1.Affinity { diff --git a/pkg/cluster/k8sres_test.go b/pkg/cluster/k8sres_test.go index efed071d7..b10123782 100644 --- a/pkg/cluster/k8sres_test.go +++ b/pkg/cluster/k8sres_test.go @@ -1502,13 +1502,13 @@ func TestGenerateCapabilities(t *testing.T) { { subTest: "no capabilities", configured: nil, - capabilities: v1.Capabilities{}, + capabilities: v1.Capabilities{Add: []v1.Capability{}}, err: fmt.Errorf("could not parse capabilities configuration of nil"), }, { subTest: "empty capabilities", configured: []string{}, - capabilities: v1.Capabilities{}, + capabilities: v1.Capabilities{Add: []v1.Capability{}}, err: fmt.Errorf("could not parse empty capabilities configuration"), }, {