JdkHttpSender does not close the response body on unsupported Content-Encoding
I maintainer di solito rispondono entro 2 giorni
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 76/100
Direzione di ricerca
Inizia da JdkHttpSender.toHttpResponse() e segui la gestione del corpo della risposta intorno al controllo di Content-Encoding non supportato e a BodyHandlers.ofInputStream(). Confrontala con OkHttpHttpSender.handleResponse(), che secondo l’issue chiude il corpo. Il lavoro è completato quando la codifica non supportata continua a generare UnsupportedContentEncodingException e chiude il corpo della risposta; l’issue non indica un file di test.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Describe the bug
When a response has a Content-Encoding other than gzip or identity, JdkHttpSender.toHttpResponse() throws UnsupportedContentEncodingException without closing the response body InputStream.
Steps to reproduce
- Configure an OTLP HTTP exporter with the JDK sender (
opentelemetry-exporter-sender-jdk). - Point it at a server or proxy that answers with
Content-Encoding: br, ignoring ourAccept-Encoding: gzip, identity.
What did you expect to see?
The export fails with Unsupported Content-Encoding: br and the body is closed, as in OkHttpHttpSender.handleResponse(), which runs the same check inside try (ResponseBody body = response.body()).
What did you see instead?
The body is never closed: the throw comes before try (InputStream rawIs = response.body()). BodyHandlers.ofInputStream() requires the caller to read to EOF or call close() to release the exchange, so if part of the body has not arrived yet, the exchange is never cancelled. The check and ofInputStream() both came in #8224.
What version and what artifacts are you using?
Artifacts: opentelemetry-exporter-otlp, opentelemetry-exporter-sender-jdk
Version: main @ b32298a83
How did you reference these artifacts? N/A
Environment
Compiler: Temurin 21
OS: N/A
Additional context
N/A
- Lingua principale
- Java
- Stelle
- 2.5k
- Fork
- 1k
- Merge medio
- 2g 20h
- PR unite (30g)
- 62
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di open-telemetry/opentelemetry-java
-
OkHttpGrpcSender no longer logs retry attemptsForse già presa @thswlsqls l’ha presa 1 giorno fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
open-telemetry/opentelemetry-java#8966 ·
I maintainer di solito rispondono entro 2 giorni
-
JdkHttpSender passes CompletionException instead of the original exception to onErrorForse già presa @thswlsqls l’ha presa 1 giorno fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
open-telemetry/opentelemetry-java#8961 ·
I maintainer di solito rispondono entro 2 giorni
-
Prometheus exporter: exemplar filtered attributes override trace_id and span_id labelsForse già presa @thswlsqls l’ha presa 1 giorno fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
open-telemetry/opentelemetry-java#8958 ·
I maintainer di solito rispondono entro 2 giorni
-
UpstreamGrpcSender ignores a "Host" header when overriding the authorityForse già presa @thswlsqls l’ha presa 1 giorno fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
open-telemetry/opentelemetry-java#8956 ·
I maintainer di solito rispondono entro 2 giorni
-
Fix `otel.sdk.log.created` counting semanticsForse già presa @anuraaga l’ha presa 75 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
open-telemetry/opentelemetry-java#8688 ·
I maintainer di solito rispondono entro 2 giorni
Tutte le issue di open-telemetry/opentelemetry-java
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
federicoiosue/Omni-Notes#1032 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
unitycatalog/unitycatalog#2025 ·
I maintainer di solito rispondono entro 4 giorni
-
Difficoltà 1/5 1-3 ore Idoneità per principianti 78/100
krizaka/krizaka-notifications#22 ·
I maintainer di solito rispondono entro 1 giorno
-
CommandDispatcher.register returns a node that is not in the tree when the literal is already registeredForse già presa @auraseb l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 83/100
-
ToolCallbackProvider AutoConfiguration does not preserve tool orderForse già presa Una pull request collegata a questa issue è aperta o già unita. Apertastatus: waiting-for-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 79/100
spring-projects/spring-ai#7206 ·
I maintainer di solito rispondono entro 2 giorni