From 0cb00160bf4976ef7be51d079475326e5ea11da4 Mon Sep 17 00:00:00 2001 From: panshuai-ps Date: Wed, 10 Jan 2024 14:36:06 +0800 Subject: [PATCH] fix syncer requeue --- pkg/syncer/syncer.go | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/pkg/syncer/syncer.go b/pkg/syncer/syncer.go index 5382c547..1b9b4618 100644 --- a/pkg/syncer/syncer.go +++ b/pkg/syncer/syncer.go @@ -201,8 +201,8 @@ func (s *ResourceSyncer) processNextWorkItem(ctx context.Context) bool { } if err := s.sync(ctx, key); err != nil { - s.queue.AddRateLimited(key) - return fmt.Errorf("error syncing '%s/%s': %s, requeuing", s.source.SyncRule().Resource, key, err.Error()) + s.queue.AddAfter(key, 5*time.Second) + return errors.Wrapf(err, "error syncing '%s/%s', requeuing", s.source.SyncRule().Resource, key) } s.queue.Forget(obj) @@ -235,7 +235,11 @@ func (s *ResourceSyncer) sync(ctx context.Context, key string) error { err = s.storage.Save(ctx, cluster, obj) } if err != nil { - return err + op := "save" + if isDeleted { + op = "delete" + } + return errors.Wrapf(err, "failed to %s from storage", op) } // obj was successfully processed, remove it from cache