When BatchProcessor.Shutdown() is called under backpressure, the final q.Dropped() count may never be recorded in the otel.sdk.processor.log.processed metric with error.type=queue_full.
The poll goroutine consumes q.Dropped() and records ProcessedQueueFull each iteration. On shutdown, pollKill is closed, causing the goroutine to return before it can consume the last accumulated dropped count. Shutdown() then flushes the queue and shuts down the exporter, but never checks q.Dropped() itself.
Ref: Identified by @pellared in #7124 (comment)
When
BatchProcessor.Shutdown()is called under backpressure, the final q.Dropped() count may never be recorded in the otel.sdk.processor.log.processed metric witherror.type=queue_full.The poll goroutine consumes
q.Dropped()and records ProcessedQueueFull each iteration. On shutdown, pollKill is closed, causing the goroutine to return before it can consume the last accumulated dropped count.Shutdown()then flushes the queue and shuts down the exporter, but never checksq.Dropped()itself.Ref: Identified by @pellared in #7124 (comment)