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

Verify tiered event-store existence and write-routing behavior

Abierto
#609 3 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 7 días

@nmummau ya está trabajando en esto.

Desde el 14/10/2026.

  • #623 de @nmummau — abierto

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
52/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
csharp
Área
backend, testing

Línea de trabajo

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.

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

Descripción

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 expose StreamExists.

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.

Lenguaje dominante
C#
Estrellas
512
Forks
99
Merge medio
5 d 6 h
PR fusionados (30 d)
5

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 Eventuous/eventuous

Todos los issues de Eventuous/eventuous

Issues similares

Más issues de C#

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.