From f78556c85fc8d4bf037ee6519f044787eff33102 Mon Sep 17 00:00:00 2001 From: sidwebworks <58144379+sidwebworks@users.noreply.github.com> Date: Thu, 14 Aug 2025 21:50:03 +0530 Subject: [PATCH] fix: context --- .../crd/bases/secrets.infisical.com_infisicalsecrets.yaml | 2 +- k8-operator/internal/util/sse/sse.go | 7 ++----- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/k8-operator/config/crd/bases/secrets.infisical.com_infisicalsecrets.yaml b/k8-operator/config/crd/bases/secrets.infisical.com_infisicalsecrets.yaml index 350dcf891..0dcc39f17 100644 --- a/k8-operator/config/crd/bases/secrets.infisical.com_infisicalsecrets.yaml +++ b/k8-operator/config/crd/bases/secrets.infisical.com_infisicalsecrets.yaml @@ -315,7 +315,7 @@ spec: description: Infisical host to pull secrets from type: string instantUpdates: - default: true + default: false type: boolean managedKubeConfigMapReferences: items: diff --git a/k8-operator/internal/util/sse/sse.go b/k8-operator/internal/util/sse/sse.go index 062aafb57..90918e8ea 100644 --- a/k8-operator/internal/util/sse/sse.go +++ b/k8-operator/internal/util/sse/sse.go @@ -39,7 +39,6 @@ func (c *ConnectionMeta) Cancel() { // ConnectionRegistry manages SSE connections with high performance type ConnectionRegistry struct { - ctx context.Context client Client mu sync.RWMutex @@ -52,7 +51,6 @@ type ConnectionRegistry struct { // NewConnectionRegistry creates a new high-performance connection registry func NewConnectionRegistry(ctx context.Context) *ConnectionRegistry { r := &ConnectionRegistry{ - ctx: ctx, monitorStop: make(chan struct{}), } @@ -148,7 +146,7 @@ func (r *ConnectionRegistry) getConnection() *ConnectionMeta { // createConnection creates a new SSE connection func (r *ConnectionRegistry) createConnection(req *http.Request) (*ConnectionMeta, error) { - ctx, cancel := context.WithCancel(r.ctx) + ctx, cancel := context.WithCancel(context.Background()) eventChan, errorChan, err := r.client.Connect(ctx, req) if err != nil { @@ -180,8 +178,6 @@ func (r *ConnectionRegistry) monitorConnections() { select { case <-r.monitorStop: return - case <-r.ctx.Done(): - return case <-ticker.C: r.checkConnectionHealth(pingTimeout) } @@ -200,6 +196,7 @@ func (r *ConnectionRegistry) checkConnectionHealth(timeout time.Duration) { r.mu.Lock() if r.conn == conn { // Verify it's still the same connection r.conn.Cancel() + r.monitorStop <- struct{}{} r.conn = nil } r.mu.Unlock()