From f033cee421018c15db35dc02dbd869310df66272 Mon Sep 17 00:00:00 2001 From: Grzegorz Burzynski Date: Mon, 7 Jun 2021 09:52:15 +0200 Subject: [PATCH] Make exponential backoff in subscriber not expiring --- pkg/googlecloud/subscriber.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pkg/googlecloud/subscriber.go b/pkg/googlecloud/subscriber.go index ec71de3..cbec3af 100644 --- a/pkg/googlecloud/subscriber.go +++ b/pkg/googlecloud/subscriber.go @@ -174,6 +174,9 @@ func (s *Subscriber) Subscribe(ctx context.Context, topic string) (<-chan *messa receiveFinished := make(chan struct{}) s.allSubscriptionsWaitGroup.Add(1) go func() { + exponentialBackoff := backoff.NewExponentialBackOff() + exponentialBackoff.MaxElapsedTime = 0 // 0 means it never expires + if err := backoff.Retry(func() error { err := s.receive(ctx, sub, logFields, output) if err == nil { @@ -188,7 +191,7 @@ func (s *Subscriber) Subscribe(ctx context.Context, topic string) (<-chan *messa s.logger.Error("Receiving messages failed, retrying", err, logFields) return err - }, backoff.NewExponentialBackOff()); err != nil { + }, exponentialBackoff); err != nil { s.logger.Error("Retrying receiving messages failed", err, logFields) }