From 4ddfa28a6513d9336b68b59dd32c0ddbf542fdb0 Mon Sep 17 00:00:00 2001 From: Raphael Silva Date: Fri, 6 Oct 2023 04:03:42 +0000 Subject: [PATCH] [chore]: Validate number of consumers in exporterhelper --- exporter/exporterhelper/queue_sender.go | 4 ++++ exporter/exporterhelper/queue_sender_test.go | 5 +++++ 2 files changed, 9 insertions(+) diff --git a/exporter/exporterhelper/queue_sender.go b/exporter/exporterhelper/queue_sender.go index 506ac302561..b77412552bc 100644 --- a/exporter/exporterhelper/queue_sender.go +++ b/exporter/exporterhelper/queue_sender.go @@ -59,6 +59,10 @@ func (qCfg *QueueSettings) Validate() error { return errors.New("queue size must be positive") } + if qCfg.NumConsumers <= 0 { + return errors.New("number of queue consumers must be positive") + } + return nil } diff --git a/exporter/exporterhelper/queue_sender_test.go b/exporter/exporterhelper/queue_sender_test.go index 322282a6972..928fbe1e6bf 100644 --- a/exporter/exporterhelper/queue_sender_test.go +++ b/exporter/exporterhelper/queue_sender_test.go @@ -173,6 +173,11 @@ func TestQueueSettings_Validate(t *testing.T) { qCfg.QueueSize = 0 assert.EqualError(t, qCfg.Validate(), "queue size must be positive") + qCfg = NewDefaultQueueSettings() + qCfg.NumConsumers = 0 + + assert.EqualError(t, qCfg.Validate(), "number of queue consumers must be positive") + // Confirm Validate doesn't return error with invalid config when feature is disabled qCfg.Enabled = false assert.NoError(t, qCfg.Validate())