From 88c558ad7cb74f68c59228f8e6ca0bfd41a3520a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20R=C3=BCger?= Date: Thu, 30 Jul 2026 03:25:44 +0200 Subject: [PATCH] plugin/kubernetes: preallocate slice capacities in controller query lookups (#8343) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Manuel RĂ¼ger --- plugin/kubernetes/controller.go | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/plugin/kubernetes/controller.go b/plugin/kubernetes/controller.go index de4b9c355..b0c4bbefc 100644 --- a/plugin/kubernetes/controller.go +++ b/plugin/kubernetes/controller.go @@ -485,6 +485,7 @@ func (dns *dnsControl) HasSynced() bool { func (dns *dnsControl) ServiceList() (svcs []*object.Service) { os := dns.svcLister.List() + svcs = make([]*object.Service, 0, len(os)) for _, o := range os { s, ok := o.(*object.Service) if !ok { @@ -497,6 +498,7 @@ func (dns *dnsControl) ServiceList() (svcs []*object.Service) { func (dns *dnsControl) ServiceImportList() (svcs []*object.ServiceImport) { os := dns.svcImportLister.List() + svcs = make([]*object.ServiceImport, 0, len(os)) for _, o := range os { s, ok := o.(*object.ServiceImport) if !ok { @@ -509,6 +511,7 @@ func (dns *dnsControl) ServiceImportList() (svcs []*object.ServiceImport) { func (dns *dnsControl) EndpointsList() (eps []*object.Endpoints) { os := dns.epLister.List() + eps = make([]*object.Endpoints, 0, len(os)) for _, o := range os { ep, ok := o.(*object.Endpoints) if !ok { @@ -524,6 +527,7 @@ func (dns *dnsControl) PodIndex(ip string) (pods []*object.Pod) { if err != nil { return nil } + pods = make([]*object.Pod, 0, len(os)) for _, o := range os { p, ok := o.(*object.Pod) if !ok { @@ -539,6 +543,7 @@ func (dns *dnsControl) SvcIndex(idx string) (svcs []*object.Service) { if err != nil { return nil } + svcs = make([]*object.Service, 0, len(os)) for _, o := range os { s, ok := o.(*object.Service) if !ok { @@ -554,7 +559,7 @@ func (dns *dnsControl) SvcIndexReverse(ip string) (svcs []*object.Service) { if err != nil { return nil } - + svcs = make([]*object.Service, 0, len(os)) for _, o := range os { s, ok := o.(*object.Service) if !ok { @@ -570,7 +575,7 @@ func (dns *dnsControl) SvcExtIndexReverse(ip string) (svcs []*object.Service) { if err != nil { return nil } - + svcs = make([]*object.Service, 0, len(os)) for _, o := range os { s, ok := o.(*object.Service) if !ok { @@ -586,6 +591,7 @@ func (dns *dnsControl) SvcImportIndex(idx string) (svcs []*object.ServiceImport) if err != nil { return nil } + svcs = make([]*object.ServiceImport, 0, len(os)) for _, o := range os { s, ok := o.(*object.ServiceImport) if !ok { @@ -601,6 +607,7 @@ func (dns *dnsControl) EpIndex(idx string) (ep []*object.Endpoints) { if err != nil { return nil } + ep = make([]*object.Endpoints, 0, len(os)) for _, o := range os { e, ok := o.(*object.Endpoints) if !ok { @@ -616,6 +623,7 @@ func (dns *dnsControl) EpIndexReverse(ip string) (ep []*object.Endpoints) { if err != nil { return nil } + ep = make([]*object.Endpoints, 0, len(os)) for _, o := range os { e, ok := o.(*object.Endpoints) if !ok { @@ -631,6 +639,7 @@ func (dns *dnsControl) McEpIndex(idx string) (ep []*object.MultiClusterEndpoints if err != nil { return nil } + ep = make([]*object.MultiClusterEndpoints, 0, len(os)) for _, o := range os { e, ok := o.(*object.MultiClusterEndpoints) if !ok {