UpstreamGrpcSender ignores a "Host" header when overriding the authority
I maintainer di solito rispondono entro 2 giorni
Una pull request collegata è già stata integrata.
- #8957 di @thswlsqls — integrata
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 78/100
Direzione di ricerca
Inizia da UpstreamGrpcSender.send() e dalla ricerca dell’header host, poi esamina AbstractGrpcTelemetryExporterTest.overrideHost e i test dei sender citati nell’issue. Riproduci il caso con Host e HOST, confrontando i sender con managed channel con il sender OkHttp predefinito. Il lavoro è completato quando la combinazione di maiuscole e minuscole dell’header sovrascrive :authority in modo coerente e i test pertinenti passano.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Describe the bug
With opentelemetry-exporter-sender-grpc-managed-channel, a host header spelled Host (or HOST) does not override the gRPC :authority. Only the exact lowercase host works.
Steps to reproduce
- Put
opentelemetry-exporter-sender-grpc-managed-channelon the classpath with an OTLP gRPC exporter. - Set
OTEL_EXPORTER_OTLP_HEADERS=Host=collector.example, or callOtlpGrpcSpanExporter.builder().addHeader("Host", "collector.example"). - Export and inspect the
:authoritythe server receives.
What did you expect to see?
:authority is collector.example, as with the default OkHttp sender; #4514 added the gRPC override to match it. HTTP field names are case-insensitive (RFC 9110 §5.1).
What did you see instead?
:authority stays the endpoint address (e.g. 127.0.0.1:<port>) and the value goes out only as host metadata. UpstreamGrpcSender.send() looks up the override with the case-sensitive headers.get("host").
What version and what artifacts are you using?
Artifacts: opentelemetry-exporter-otlp, opentelemetry-exporter-sender-grpc-managed-channel
Version: main @ b32298a83 (1.68.0-SNAPSHOT)
How did you reference these artifacts? Gradle implementation
Environment
Compiler: Temurin 21
OS: N/A
Additional context
Adding addHeader("Host", ...) to AbstractGrpcTelemetryExporterTest.overrideHost fails on testGrpcNetty and testGrpcOkhttp and passes on testOkHttpVersionLATEST.
- Lingua principale
- Java
- Stelle
- 2.5k
- Fork
- 1k
- Merge medio
- 2g 23h
- PR unite (30g)
- 68
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 2 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
open-telemetry/opentelemetry-java#8966 · 1 reazione ·
I maintainer di solito rispondono entro 2 giorni
-
JdkHttpSender passes CompletionException instead of the original exception to onErrorForse già presa @thswlsqls l’ha presa 3 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
open-telemetry/opentelemetry-java#8961 · 1 reazione ·
I maintainer di solito rispondono entro 2 giorni
-
Fix `otel.sdk.log.created` counting semanticsForse già presa @anuraaga l’ha presa 76 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
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 25/100
open-telemetry/opentelemetry-java#8972 ·
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 35/100
open-telemetry/opentelemetry-java#8970 · 1 commento ·
I maintainer di solito rispondono entro 2 giorni
Tutte le issue di open-telemetry/opentelemetry-java
Issue simili
-
enhancement web-ui
Difficoltà 2/5 1-3 ore Idoneità per principianti 67/100
jenkinsci/jenkins#27583 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
apache/rocketmq-dashboard#7302 ·
I maintainer di solito rispondono entro 3 giorni
-
area: android good first issue help wanted testing
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
Gautam-aman/ResQNet#56 ·
I maintainer di solito rispondono entro 1 giorno
-
documentation hermes-queue
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
chrisalunlloyd2-sudo/mindpalace#294 ·
I maintainer di solito rispondono entro 1 giorno