WS8: Tests, documentation, and release engineering for GA
Maintainer thường phản hồi trong vòng 1 ngày
@j7nw4r đang làm issue này rồi.
Từ ngày 28/7/2026.
Đánh giá
Issue này chưa được đánh giá.
Mô tả
Summary
No offline test exercises link recovery, token refresh, or retry classification, because no transport fake exists. CI accepts 27 percent line coverage and 13 percent branch coverage. The README teaches an API that the package removed. The samples cover no processor scenario, although the processor is the flagship consume pattern. Neither package ships a TROUBLESHOOTING.md.
The test items gate the other workstreams: the reliability fixes in #7254, #7255, #7256, and #7257 are unverifiable without them. Severity tags follow the key in #7252.
Motivation
The .NET library backs its reliability behavior with thousands of offline unit tests that use AMQP fakes, for example sdk/eventhub/Azure.Messaging.EventHubs.Shared/tests/RetryPolicies/BasicRetryPolicyTests.cs and tests/Processor/PartitionLoadBalancerTests.cs. It also ships live tests and a stress suite.
The C++ package has about 59 test cases across 11 files, and the client tests gate on live environment variables through the test base (test/ut/eventhubs_test_base.hpp:26-101). No offline test covers link recovery, token refresh, or retry classification, because no transport fake exists. CI accepts 27 percent line coverage and 13 percent branch coverage (sdk/eventhubs/ci.yml:32-33). A stress test exists for batch send scenarios and a perf test exists, but there is no processor long-haul test.
The documentation describes an API that no longer exists. The README teaches connection string authentication in the client construction section (README.md:134-142), the send example (README.md:175-193), and the receive example (README.md:205-210). Those examples also use EventDataBatch direct construction, AddMessage, and SendEventDataBatch, none of which exist on the current surface. Samples cover basic-operations, produce-events, and consume-events only, with no processor or checkpoint sample. Neither Event Hubs package ships a TROUBLESHOOTING.md, while .NET ships one at sdk/eventhub/Azure.Messaging.EventHubs/TROUBLESHOOTING.md.
Issue #7250 restores the connection string constructors. Coordinate the README rewrite with that work, so the examples match the surface that actually ships.
Proposal
- Add offline unit tests, backed by a transport fake, for every behavior that #7254, #7255, #7256, and #7257 introduce: link rebuild, token refresh, transient-only retry, cancellable backoff, close idempotency, the processor error callback, checkpoint parsing, and the batch envelope annotation. [GA blocker]
- Rewrite the README so every code sample compiles against the shipped surface (
README.md:134-142,175-193,205-210). [GA blocker] - Add a processor sample with the blob checkpoint store. [GA blocker]
- Make the live tests run green in CI across the full platform matrix, and make the vcpkg ports of both Event Hubs packages and the chosen transport build across that matrix (
sdk/eventhubs/ci.yml:26-60). [GA blocker] - Raise the CI coverage targets from 27 percent line and 13 percent branch to targets the team sets for GA (
sdk/eventhubs/ci.yml:32-33). [GA quality bar] - Add a processor long-haul stress scenario next to the existing batch send scenarios (
test/eventhubs-stress-test/src/scenarios/src/batch_stress_tests.cpp). [GA quality bar] - Add
TROUBLESHOOTING.mdfor both packages, modeled on the .NET one. [GA quality bar] - Document the at-least-once delivery contract in
TROUBLESHOOTING.mdand in the README. Event Hubs does not support AMQP link recovery, so a reconnect can deliver an event two times, and a caller must expect a duplicate. Microsoft states the contract directly: "Service Bus and Event Hubs support 'at least once' transfer where the sender can be assured for the message having been stored and accepted, but don't support 'exactly once' transfers at the AMQP level" (AMQP 1.0 in Service Bus and Event Hubs protocol guide). The link rebuild work in #7254 makes this contract visible to a caller, so the documentation must state it. [GA quality bar]
Validation
- Every reliability behavior from #7254 through #7257 has an offline test that fails before its fix and passes after.
- Every README code sample compiles.
- CI is green on the full platform matrix, including the live tests and the vcpkg port builds.
- A processor and a producer each run 24 hours against a live hub with induced link detaches and survive without a restart.
- Ngôn ngữ chính
- C++
- Star
- 206
- Fork
- 177
- Merge trung bình
- 2 ngày 17 giờ
- Pull request đã merge (30 ngày)
- 37
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- 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 Azure/azure-sdk-for-cpp
-
bug EngSys
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 86/100
Azure/azure-sdk-for-cpp#7362 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Client needs-team-attention Service Attention Storage
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
Azure/azure-sdk-for-cpp#7347 · 2 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Client Event Hubs needs-team-attention Service Attention
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 86/100
Azure/azure-sdk-for-cpp#7333 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Azure Storage STG105 Feature TestsCó thể đã có người làm @Jinming-Hu đã nhận 26 ngày trước. Đang mởClient Storage
Azure/azure-sdk-for-cpp#7449 · 1 người được giao ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Azure.Core bug test-enhancement
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 66/100
Azure/azure-sdk-for-cpp#7401 ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của Azure/azure-sdk-for-cpp
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 66/100
godotengine/godot#125035 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
agent:WSL bug LOW security
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
mgradwohl/tasksmack#3290 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
mw00/project-maya#743 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
ENABLE_CUTE_DSL=OFF does not compile: runPadding stub does not match its declarationCó thể đã có người làm @akhil9tiet đã nhận hôm nay. Đang mởbug
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 82/100
NVIDIA/TensorRT-Edge-LLM#268 · 2 bình luận ·
Maintainer thường phản hồi trong vòng 3 ngày
-
Bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Maintainer thường phản hồi trong vòng 1 ngày