func (cf *clientsFactory) UpdateNamespaces(ctx context.Context) error {
	clients, err := clientsForClusters(cf.clusters.Get())
	if err != nil {
		cf.log.Error(err, "failed to create clients for", "clusters", cf.clusters.Get())
		return err
	}

	cf.syncCaches()

	wg := sync.WaitGroup{}

	for clusterName, c := range clients {
		wg.Add(1)

		go func(clusterName string, c client.Client) {
			defer wg.Done()

			nsList := &v1.NamespaceList{}

			if err := c.List(ctx, nsList); err != nil {
				cf.log.Error(err, "failed listing namespaces", "cluster", clusterName)
			}

			cf.clustersNamespaces.Set(clusterName, nsList.Items)
		}(clusterName, c)
	}

	wg.Wait()

	return nil
}
Information written to log files can be of a sensitive nature and give valuable guidance to an attacker or expose sensitive user information.