From 580d21d8bb11d92ece9c59f112ab3135bf00acab Mon Sep 17 00:00:00 2001 From: Holger Obermaier <40787752+ho-ob@users.noreply.github.com> Date: Mon, 20 Jun 2022 18:06:27 +0200 Subject: [PATCH] Fix: When sending metrics failed the batch size could be exceeded --- sinks/influxSink.go | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/sinks/influxSink.go b/sinks/influxSink.go index 212647d..78dda56 100644 --- a/sinks/influxSink.go +++ b/sinks/influxSink.go @@ -142,17 +142,20 @@ func (s *InfluxSink) Flush() error { // Send metrics from batch slice err := s.writeApi.WritePoint(context.Background(), s.batch...) - if err != nil { - cclog.ComponentError(s.name, "flush failed:", err.Error()) - return err - } // Clear batch slice + // (when sending the metrics failed, metrics get dropped and are lost) for i := range s.batch { s.batch[i] = nil } s.batch = s.batch[:0] + // Report errors for sending metrics + if err != nil { + cclog.ComponentError(s.name, "flush failed:", err.Error()) + return err + } + return nil }