diff --git a/pkg/controller/postgresql.go b/pkg/controller/postgresql.go index e67b47193..e551930bd 100644 --- a/pkg/controller/postgresql.go +++ b/pkg/controller/postgresql.go @@ -385,8 +385,14 @@ func (c *Controller) queueClusterEvent(informerOldSpec, informerNewSpec *acidv1. if informerOldSpec != nil { //update, delete uid = informerOldSpec.GetUID() clusterName = util.NameFromMeta(informerOldSpec.ObjectMeta) + + // user is fixing previously incorrect spec if eventType == EventUpdate && informerNewSpec.Error == "" && informerOldSpec.Error != "" { eventType = EventSync + } + + // set current error to be one of the new spec if present + if informerNewSpec != nil { clusterError = informerNewSpec.Error } else { clusterError = informerOldSpec.Error