fix a concurrency issue of mcprbidge reconcile (#511)

This commit is contained in:
澄潭
2023-09-08 15:59:22 +08:00
committed by GitHub
parent 8747e1ddad
commit dc3e496aa0
2 changed files with 14 additions and 15 deletions

View File

@@ -58,7 +58,7 @@ func NewReconciler(serviceUpdate func(), client kube.Client, namespace string) *
}
}
func (r *Reconciler) Reconcile(mcpbridge *v1.McpBridge) {
func (r *Reconciler) Reconcile(mcpbridge *v1.McpBridge) error {
newRegistries := make(map[string]*apiv1.RegistryConfig)
if mcpbridge != nil {
for _, registry := range mcpbridge.Spec.Registries {
@@ -121,12 +121,12 @@ func (r *Reconciler) Reconcile(mcpbridge *v1.McpBridge) {
r.registries[k] = v
}
if errHappened {
log.Error("ReconcileRegistries failed, Init Watchers failed")
return
return errors.New("ReconcileRegistries failed, Init Watchers failed")
}
wg.Wait()
r.Cache.PurgeStaleService()
log.Infof("Registries is reconciled")
return nil
}
func (r *Reconciler) generateWatcherFromRegistryConfig(registry *apiv1.RegistryConfig, wg *sync.WaitGroup) (Watcher, error) {