Skip to content

Commit

Permalink
k8s/watchers: store old identity labels instead of full label set
Browse files Browse the repository at this point in the history
This avoids unnecessarily filtering old labels on successive calls to
(*namespaceUpdater).update.

Signed-off-by: Tobias Klauser <[email protected]>
  • Loading branch information
tklauser committed Aug 31, 2023
1 parent 926973d commit e7ca5da
Showing 1 changed file with 4 additions and 5 deletions.
9 changes: 4 additions & 5 deletions pkg/k8s/watchers/namespace.go
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ func (k *K8sWatcher) namespacesInit() {
k.k8sAPIGroups.AddAPI(apiGroup)

nsUpdater := namespaceUpdater{
oldLabels: make(map[string]labels.Labels),
oldIdtyLabels: make(map[string]labels.Labels),
endpointManager: k.endpointManager,
}

Expand Down Expand Up @@ -65,7 +65,7 @@ func (k *K8sWatcher) namespacesInit() {
}

type namespaceUpdater struct {
oldLabels map[string]labels.Labels
oldIdtyLabels map[string]labels.Labels

endpointManager endpointManager
}
Expand All @@ -80,10 +80,9 @@ func getNamespaceLabels(ns *slim_corev1.Namespace) labels.Labels {
}

func (u *namespaceUpdater) update(newNS *slim_corev1.Namespace) error {
oldLabels := u.oldLabels[newNS.Name]
newLabels := getNamespaceLabels(newNS)

oldIdtyLabels, _ := labelsfilter.Filter(oldLabels)
oldIdtyLabels := u.oldIdtyLabels[newNS.Name]
newIdtyLabels, _ := labelsfilter.Filter(newLabels)

// Do not perform any other operations if the old labels are the same as
Expand All @@ -108,7 +107,7 @@ func (u *namespaceUpdater) update(newNS *slim_corev1.Namespace) error {
if failed {
return errors.New("unable to update some endpoints with new namespace labels")
}
u.oldLabels[newNS.Name] = newLabels
u.oldIdtyLabels[newNS.Name] = newIdtyLabels
return nil
}

Expand Down

0 comments on commit e7ca5da

Please sign in to comment.