diff --git a/internal/relayenv/env_context_impl.go b/internal/relayenv/env_context_impl.go index 4bc81c75..4ef15274 100644 --- a/internal/relayenv/env_context_impl.go +++ b/internal/relayenv/env_context_impl.go @@ -121,6 +121,7 @@ type envContextImpl struct { doneMonitoringCredentials chan struct{} connectionMapper ConnectionMapper offline bool + closed bool } // Implementation of the DataStoreQueries interface that the streams package uses as an abstraction of @@ -701,6 +702,11 @@ func (c *envContextImpl) FlushMetricsEvents() { func (c *envContextImpl) Close() error { c.mu.Lock() + if c.closed { + c.mu.Unlock() + return nil + } + c.closed = true for _, client := range c.clients { _ = client.Close() }