Skip to content

[exporterhelper] BenchmarkMemoryQueueWaitForResult test is broken #13004

@jackgopack4

Description

@jackgopack4

Component(s)

exporter/exporterhelper

What happened?

Describe the bug
BenchmarkMemoryQueueWaitForResult in exporter/exporterhelper/internal/queuebatch/memory_queue_test.go crashes on a negative waitgroup counter.

Steps to reproduce
Download any branch, run

go test -benchmem -run=^$ -bench ^BenchmarkMemoryQueueWaitForResult$ go.opentelemetry.io/collector/exporter/exporterhelper/internal/queuebatch

What did you expect to see?
Test passes or fails

What did you see instead?
Test crashes,

panic: sync: negative WaitGroup counter

goroutine 19 [running]:
sync.(*WaitGroup).Add(0x0?, 0x0?)
	/Users/john.peterson/.goenv/versions/1.23.8/src/sync/waitgroup.go:64 +0x108
sync.(*WaitGroup).Done(...)
	/Users/john.peterson/.goenv/versions/1.23.8/src/sync/waitgroup.go:89
go.opentelemetry.io/collector/exporter/exporterhelper/internal/queuebatch.BenchmarkMemoryQueueWaitForResult.func1()
	/Users/john.peterson/otel/opentelemetry-collector/exporter/exporterhelper/internal/queuebatch/memory_queue_test.go:209 +0xe0
created by go.opentelemetry.io/collector/exporter/exporterhelper/internal/queuebatch.BenchmarkMemoryQueueWaitForResult in goroutine 3
	/Users/john.peterson/otel/opentelemetry-collector/exporter/exporterhelper/internal/queuebatch/memory_queue_test.go:203 +0x200
exit status 2
FAIL	go.opentelemetry.io/collector/exporter/exporterhelper/internal/queuebatch	0.475s
FAIL

Collector version

v0.125.0

Environment information

Environment

OS: darwin 15.4.1
Arch: aarm64

OpenTelemetry Collector configuration

n/a

Log output

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions