Retry-After parser accepts invalid delay-seconds values
Maintainer thường phản hồi trong vòng 2 ngày
Đá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
- 82/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- java
- Lĩnh vực
- backend-api-design
Hướng nghiên cứu
Bắt đầu với RetryUtil.retryAfterNanos và các bài kiểm thử hiện có trong io.opentelemetry.exporter.internal.RetryUtilTest. Kiểm tra cách trình phân tích cú pháp xử lý +30, -0 và ٣٠, rồi chạy lớp kiểm thử đó. Hoàn thành khi mỗi giá trị sai định dạng trả về OptionalLong.empty() và các giá trị giây chờ ASCII hợp lệ vẫn được phân tích cú pháp.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Describe the bug
The internal RetryUtil.retryAfterNanos parser accepts +30 as a 30-second delay and -0 as zero. Long.parseLong also accepts non-ASCII decimal digits. These values do not match the HTTP Retry-After delay-seconds grammar (1*DIGIT, ASCII 0–9).
The JDK and OkHttp HTTP senders use this parser. An accepted malformed value overrides their ordinary retry backoff instead of being ignored.
Steps to reproduce
In the existing io.opentelemetry.exporter.internal.RetryUtilTest, pass +30, -0, or ٣٠ to RetryUtil.retryAfterNanos(value, Instant.EPOCH).
What did you expect to see?
OptionalLong.empty(), as for other malformed values, so the ordinary retry policy applies.
What did you see instead?
OptionalLong.of(30000000000L) for +30; OptionalLong.of(0L) for -0; non-ASCII decimal digits are also parsed as a delay.
What version and what artifacts are you using?
Artifacts: exporters/common (used by the JDK and OkHttp senders)
Version: source checkout at f02bddc
How referenced: direct source checkout
Environment
Compiler: Temurin 25.0.5
OS: macOS 15.5
Additional context
The HTTP grammar is defined in RFC 9110 section 10.2.3.
- Ngôn ngữ chính
- Java
- Star
- 2.5k
- Fork
- 1k
- Merge trung bình
- 4 ngày 3 giờ
- Pull request đã merge (30 ngày)
- 49
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
-
PrometheusComponentProvider promotes all resource attributes when resource_constant_labels is empty ({})Có thể đã có người làm @rooks-ns đã nhận 1 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
open-telemetry/opentelemetry-java#9014 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
MetricReusableDataMarshaler passes MetricData count instead of data point count to otel.sdk.exporter.metric_data_point.{inflight,exported}Có thể đã có người làm @goutamadwant đã nhận hôm nay. Đ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#9011 · 1 bình luận ·
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 94 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
-
Add experimental view_matching_mode (composable metric views) supportCó thể đã có người làm @rooks-ns đã nhận hôm nay. Đang mở
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 35/100
open-telemetry/opentelemetry-java#9013 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
Span/log processors and PeriodicMetricReader use static ComponentId, causing all instances to share otel.component.name "<type>/0"Có thể đã có người làm @goutamadwant đã nhận hôm nay. Đang mở
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 68/100
open-telemetry/opentelemetry-java#9012 ·
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ự
-
hermes-queue
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 72/100
chrisalunlloyd2-sudo/mindpalace#349 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug priority: medium Review effort [1-5]: 2 status: needs-triage type: bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
carlos-emr/carlos#5818 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug good first issue help wanted tooling
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
appmonster007/kmip-adapter#100 ·
-
[Documentation]: Remove non-existent CHANGELOG reference from StateBackendProperties JavadocĐang mởaccepted good first issue java
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 88/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Marketplace time-zone issueĐang mởbug main ui
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
openhab/openhab-webui#4671 ·
Maintainer thường phản hồi trong vòng 1 ngày