You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The public OTLP/gRPC logs exporter does not document the concurrency characteristics required of implementations, although its methods are synchronized correctly.
Found while completing #9104 under stabilization parent #9102. Reviewed implementation: 6b3ec1621285c44b321ba65b972f453213461fc6; specification: 1d77cd02d8a2f4ac7d056b3d771126f807e28cba.
The Stable Logs SDK LogRecordExporter documentation requirement is a MUST. Current Exporter/type constructor docs, method docs, README and doc.go do not state the concurrency contract. The implementation assertion is unexported and does not appear in package API docs. Documentation on sdk/log.Exporter describes the shared interface, not the concrete public exporter; #8549's SDK/interface audit does not cover this gap.
Document that Export must not be called concurrently with another Export on the same instance, and that ForceFlush and Shutdown are safe concurrently with themselves, each other, and Export. Document repeated-shutdown behavior consistently with the existing implementation. No new synchronization implementation is needed for this issue.
Validation: inspect rendered package docs and run package documentation/verification checks appropriate to the eventual documentation patch. Existing tests plus deterministic in-flight transport and repeated Shutdown/ForceFlush probes passed under -race for 100 repetitions. No production changes were made by the audit.
An existing-issue search found #8549 and the analogous closed metrics documentation issue #4248, but no existing focused logs-exporter documentation issue. This follows up the concrete documentation gap without reopening completed SDK/provider/processor/buffered-wrapper coverage.
Activity
otlplog: document Exporter concurrency guarantees (open-telemetry#9244)