UpstreamGrpcSender ignores a "Host" header when overriding the authority
Maintainer thường phản hồi trong vòng 2 ngày
Một pull request liên quan đã được merge.
- #8957 của @thswlsqls — đã merge
Đánh giá
- Độ khó
- 2/5
- Thời gian dự kiến
- 1-3 giờ
- Mức phù hợp với người mới
- 78/100
Hướng nghiên cứu
Bắt đầu với UpstreamGrpcSender.send() và phần tìm header host, sau đó xem lại AbstractGrpcTelemetryExporterTest.overrideHost cùng các bài kiểm thử sender được nhắc đến trong issue. Tái hiện trường hợp với Host và HOST, rồi so sánh các sender dùng managed channel với sender OkHttp mặc định. Hoàn tất khi cách viết hoa thường của header luôn ghi đè :authority và các bài kiểm thử liên quan đều đạt.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
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.
- Ngôn ngữ chính
- Java
- Star
- 2.5k
- Fork
- 1k
- Merge trung bình
- 2 ngày 23 giờ
- Pull request đã merge (30 ngày)
- 68
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Không có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của open-telemetry/opentelemetry-java
-
OkHttpGrpcSender no longer logs retry attemptsCó thể đã có người làm @thswlsqls đã nhận 2 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
open-telemetry/opentelemetry-java#8966 · 1 reaction ·
Maintainer thường phản hồi trong vòng 2 ngày
-
JdkHttpSender passes CompletionException instead of the original exception to onErrorCó thể đã có người làm @thswlsqls đã nhận 2 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
open-telemetry/opentelemetry-java#8961 · 1 reaction ·
Maintainer thường phản hồi trong vòng 2 ngày
-
Fix `otel.sdk.log.created` counting semanticsCó thể đã có người làm @anuraaga đã nhận 76 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
open-telemetry/opentelemetry-java#8688 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 25/100
open-telemetry/opentelemetry-java#8972 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 35/100
open-telemetry/opentelemetry-java#8970 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 2 ngày
Tất cả issue của open-telemetry/opentelemetry-java
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
apache/rocketmq-dashboard#7302 ·
Maintainer thường phản hồi trong vòng 3 ngày
-
area: android good first issue help wanted testing
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
Gautam-aman/ResQNet#56 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
documentation hermes-queue
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
chrisalunlloyd2-sudo/mindpalace#294 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
better night vision compatĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
QuicksilverMC/Argentum#31 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 66/100
avniproject/avni-server#1098 · 2 bình luận ·