Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

UpstreamGrpcSender ignores a "Host" header when overriding the authority

Cerrado Apto para principiantes
#8,956 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 2 días

Ya se ha fusionado un pull request relacionado.

  • #8957 de @thswlsqls — fusionado

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
78/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
grpc, java
Área
backend, testing

Línea de trabajo

Empieza con UpstreamGrpcSender.send() y su búsqueda de la cabecera host; después, revisa AbstractGrpcTelemetryExporterTest.overrideHost y las pruebas de los senders mencionadas en la incidencia. Reproduce el caso con Host y HOST, comparando los senders de managed channel con el sender predeterminado de OkHttp. El trabajo estará terminado cuando las mayúsculas y minúsculas de la cabecera sobrescriban :authority de forma coherente y pasen las pruebas pertinentes.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

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

  1. Put opentelemetry-exporter-sender-grpc-managed-channel on the classpath with an OTLP gRPC exporter.
  2. Set OTEL_EXPORTER_OTLP_HEADERS=Host=collector.example, or call OtlpGrpcSpanExporter.builder().addHeader("Host", "collector.example").
  3. Export and inspect the :authority the 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.

Lenguaje dominante
Java
Estrellas
2.5k
Forks
1k
Merge medio
3 d 15 h
PR fusionados (30 d)
65

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de open-telemetry/opentelemetry-java

Todos los issues de open-telemetry/opentelemetry-java

Issues similares

Más issues de Java

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.