From 8617f8af16184e1de42f22aca7448e1d8e86fab6 Mon Sep 17 00:00:00 2001 From: malizz Date: Mon, 5 Jun 2023 12:16:21 -0700 Subject: [PATCH] continue anti-entropy sync when failures exist (#17560) --- agent/local/state.go | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/agent/local/state.go b/agent/local/state.go index cd1cfa3ed4..3e43ddc9a1 100644 --- a/agent/local/state.go +++ b/agent/local/state.go @@ -13,20 +13,20 @@ import ( "sync/atomic" "time" - "github.com/hashicorp/consul/acl/resolver" - "github.com/hashicorp/consul/lib/stringslice" - - "github.com/armon/go-metrics" - "github.com/armon/go-metrics/prometheus" - "github.com/hashicorp/go-hclog" - "github.com/mitchellh/copystructure" - "github.com/hashicorp/consul/acl" + "github.com/hashicorp/consul/acl/resolver" "github.com/hashicorp/consul/agent/structs" "github.com/hashicorp/consul/agent/token" "github.com/hashicorp/consul/api" "github.com/hashicorp/consul/lib" + "github.com/hashicorp/consul/lib/stringslice" "github.com/hashicorp/consul/types" + + "github.com/armon/go-metrics" + "github.com/armon/go-metrics/prometheus" + "github.com/hashicorp/go-hclog" + "github.com/hashicorp/go-multierror" + "github.com/mitchellh/copystructure" ) var StateCounters = []prometheus.CounterDefinition{ @@ -1252,6 +1252,7 @@ func (l *State) SyncChanges() error { } } + var errs error // Sync the services // (logging happens in the helper methods) for id, s := range l.services { @@ -1265,7 +1266,7 @@ func (l *State) SyncChanges() error { l.logger.Debug("Service in sync", "service", id.String()) } if err != nil { - return err + errs = multierror.Append(errs, err) } } @@ -1286,10 +1287,10 @@ func (l *State) SyncChanges() error { l.logger.Debug("Check in sync", "check", id.String()) } if err != nil { - return err + errs = multierror.Append(errs, err) } } - return nil + return errs } // deleteService is used to delete a service from the server