Closed timannguyen closed 3 weeks ago
adding test to replicate https://github.com/open-telemetry/opentelemetry-collector/compare/main...timannguyen:opentelemetry-collector:test-pq-concurrency
issue where
- higher throughput with same goroutines for producers consumers
- same throughput with higher groutines for producers and default consumers of 10
doesnt work. trying to recreate tests
issue where:
let me know if there is any issue with the test
@timannguyen Hi Tim, thanks for putting together a test! I was taking at a stab at this issue since I am recently working on exporter queues.
I noticed that in your test, ps.Offer
seems to be executed only once when we enter the for loop (line 565 in the attached snapshot). I am assuming this is not intentional?
Describe the bug
size_channel.pop() is blocking when queue is full. This looks to happen when there are high number of connections and high throughput.
Steps to reproduce
TBA. will be writing a test to replicate
What did you expect to see?
size_channel.pop() should receive data and returns when queue is not empty.
What did you see instead?
size_channel.pop() is blocked indefinitely even if queue is full.
What version did you use?
v0.103.0
What config did you use?
Environment
Linux
go 1.21.0
Additional context