Skip to content

Commit

Permalink
[chore]: Validate number of consumers in exporterhelper (#8629)
Browse files Browse the repository at this point in the history
**Description:** Validate number of consumers in exporterhelper

This is a very small bug fix that does not even deserve a changelog
entry. The collector will not work if a queue with a number of consumers
<= 0 is used, so we should fail loudly instead of just hanging not
draining the data from the queue.

**Testing:** UTs were added.


_Please delete paragraphs that you did not use before submitting._
  • Loading branch information
rapphil authored Oct 6, 2023
1 parent d364ad6 commit ffedebe
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 0 deletions.
4 changes: 4 additions & 0 deletions exporter/exporterhelper/queue_sender.go
Original file line number Diff line number Diff line change
Expand Up @@ -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
}

Expand Down
5 changes: 5 additions & 0 deletions exporter/exporterhelper/queue_sender_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -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())
Expand Down

0 comments on commit ffedebe

Please sign in to comment.