From fe41b5bc1c4cdb4d17d8b49b93765698015eda0f Mon Sep 17 00:00:00 2001 From: Aleksandr Aleksandrov Date: Mon, 24 Nov 2025 14:39:05 +0200 Subject: [PATCH] fix: buffer event channels to prevent blocking under load Buffer output channels (400) in reconcileWithDelay to prevent blocking when VectorReconciler is slow. Without buffering, reconcileWithDelay blocks on send, stops reading from input, and PipelineReconciler eventually blocks - causing deadlock. --- cmd/manager/main.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/cmd/manager/main.go b/cmd/manager/main.go index 61be477..e435e40 100644 --- a/cmd/manager/main.go +++ b/cmd/manager/main.go @@ -197,7 +197,7 @@ func main() { os.Exit(1) } - vectorAgentEventCh := make(chan event.GenericEvent) + vectorAgentEventCh := make(chan event.GenericEvent, 400) defer close(vectorAgentEventCh) if err = (&controller.VectorReconciler{ @@ -234,7 +234,7 @@ func main() { os.Exit(1) } - vectorAggregatorsEventCh := make(chan event.GenericEvent) + vectorAggregatorsEventCh := make(chan event.GenericEvent, 400) defer close(vectorAggregatorsEventCh) if err = (&controller.VectorAggregatorReconciler{ @@ -248,7 +248,7 @@ func main() { os.Exit(1) } - clusterVectorAggregatorsEventCh := make(chan event.GenericEvent) + clusterVectorAggregatorsEventCh := make(chan event.GenericEvent, 400) defer close(clusterVectorAggregatorsEventCh) if err = (&controller.ClusterVectorAggregatorReconciler{