diff --git a/CHANGELOG.md b/CHANGELOG.md index 098a96cc33..b0f7f8e68a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,19 @@ Increment the: ## [Unreleased] +* [EXPORTER] Fix a doc comment on the Elasticsearch log exporter's + `ResponseHandler::waitForResponse()` claiming a request timeout (set via + `SetTimeoutMs()`) arrives as a `SessionState::TimedOut` event. No + `HttpClient` implementation in this repo dispatches `TimedOut`; the curl + client maps a timeout to `SendFailed` like any other transport error, which + is what the comment now says. + [#4604](https://github.com/open-telemetry/opentelemetry-cpp/issues/4604) + +* [SDK] Release provider mutexes before construction-failure diagnostics so + custom log handlers can retrieve cached or noop tracers, loggers, and meters + from the same provider without deadlocking. + [#4693](https://github.com/open-telemetry/opentelemetry-cpp/issues/4693) + ## [1.30.0] 2026-10-22 This release contains: diff --git a/exporters/elasticsearch/src/es_log_record_exporter.cc b/exporters/elasticsearch/src/es_log_record_exporter.cc index cd3b1bdbfd..f5175ba56e 100644 --- a/exporters/elasticsearch/src/es_log_record_exporter.cc +++ b/exporters/elasticsearch/src/es_log_record_exporter.cc @@ -111,7 +111,8 @@ class ResponseHandler : public http_client::EventHandler /** * A method the user calls to block their thread until the request has either produced a * response or failed. The longest duration is the timeout of the request, set by - * SetTimeoutMs(), which arrives here as a TimedOut session event. + * SetTimeoutMs(); the curl client reports that as a SendFailed session event, the same as any + * other transport failure, since it does not distinguish a timeout from other CURL errors. */ bool waitForResponse() {