Verify tiered event-store existence and write-routing behavior
Maintainer thường phản hồi trong vòng 7 ngày
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 52/100
Hướng nghiên cứu
Start with src/Core/src/Eventuous.Persistence/EventStore/TieredEventStore.cs and the affected persistence/application test project; review the TieredEventStore implementation and its public APIs. Build isolated in-memory or controlled stores, then test existence across tier combinations, forward and backward reads, appends, truncation, deletion, and an archive that only implements IEventReader. Completion means assertions document the existence contract and verify stored events and routing, with a regression test for any confirmed bug.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Problem
TieredEventStore has no recorded line coverage in the October 5, 2026 .NET 10 coverage run. Its public behavior needs tests independent of the existing TieredEventReader tests. You can view a test coverage report I generated here: index.html
There is also a potential correctness bug: StreamExists returns hotExists && archiveExists. A stream present in only one tier is therefore reported as missing, even though the tiered reader can read from that tier. This is a code-review finding; add a reproducing test and confirm the intended contract before changing the implementation.
Source: TieredEventStore.cs.
Proposed tests
- Exercise stream existence when the stream is present in hot storage only, archive storage only, both stores, or neither store.
- Read through the tiered store's public forward and backward APIs, including a stream spanning both tiers. Assert event order, requested counts, and absence of duplicates.
- Append through both the single-stream and batch APIs. Verify that events reach hot storage and do not alter the archive.
- Truncate and delete through the tiered store. Verify that these operations affect only hot storage.
- Establish the existence-check contract when the archive implements only
IEventReader, which does not exposeStreamExists.
Acceptance criteria
- Tests reproduce the current behavior for streams present in only one tier.
- The intended existence contract is documented in the tests; any confirmed bug is fixed with a regression test.
- Reads, appends, truncation, and deletion are tested through the public tiered-store API with assertions on stored events.
- Archive-only readers are handled according to an explicit contract.
- Tests use isolated in-memory stores or controlled store implementations and do not require Docker.
Validation
Run the affected persistence/application test project and collect focused coverage for TieredEventStore. Use behavioral assertions as the completion criterion, not a percentage target. A full provider-suite rerun is not required for this isolated work.
- Ngôn ngữ chính
- C#
- Star
- 512
- Fork
- 99
- Merge trung bình
- 5 ngày 6 giờ
- Pull request đã merge (30 ngày)
- 5
Chuẩn bị môi trường
- Có Dockerfile hoặc 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 Eventuous/eventuous
-
MongoDB integration tests fail on newer GitHub Actions runner kernelsCó thể đã có người làm @nmummau đã 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 74/100
Eventuous/eventuous#626 · 2 bình luận ·
Maintainer thường phản hồi trong vòng 7 ngày
-
`dotnet format style --verify-no-changes` fails with naming violations and unnecessary importsCó thể đã có người làm @nmummau đã 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 80/100
Eventuous/eventuous#624 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 7 ngày
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 35/100
Eventuous/eventuous#627 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 7 ngày
-
SQL Server: `append_events` does not need the `@inserted` table variableCó thể đã có người làm @nmummau đã nhận 7 ngày trước. Đang mở
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 20/100
Eventuous/eventuous#619 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 7 ngày
-
SQL Server: stream reads do one key lookup per event, and `IDX_EventsStream` duplicates `UQ_StreamIdAndStreamPosition`Có thể đã có người làm @nmummau đã nhận 7 ngày trước. Đang mở
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 18/100
Eventuous/eventuous#618 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 7 ngày
Tất cả issue của Eventuous/eventuous
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 64/100
joinrpg/joinrpg-net#5752 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug ux
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
CodeForFire/lagebuch#714 ·
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 82/100
dimitar-radenkov/Pointframe#294 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
kind/feature-request
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
Altinn/altinn-correspondence#2154 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Batteries can't be swappedĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 61/100
Okabintaro/SubmersedVR#253 ·