summaryrefslogtreecommitdiff
path: root/internal/controlplane/manager.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/controlplane/manager.go')
-rw-r--r--internal/controlplane/manager.go4
1 files changed, 4 insertions, 0 deletions
diff --git a/internal/controlplane/manager.go b/internal/controlplane/manager.go
index cdafc36..b6be748 100644
--- a/internal/controlplane/manager.go
+++ b/internal/controlplane/manager.go
@@ -176,6 +176,10 @@ func (m *Manager) runSubscriptions(ctx context.Context) {
closed = true
continue
}
+ // go-redis transparently reconnects Pub/Sub after a network outage.
+ // Receiving a message is the strongest signal that this subscription
+ // is live again, including when a concurrent publish previously failed.
+ m.redisConnected.Store(true)
var event ChangeEvent
if json.Unmarshal([]byte(message.Payload), &event) != nil || event.Generation <= m.generation.Load() {
continue