Skip to content

Upgrade JasperFx family → 2.12.0 + dead-letter row drill-in / per-tenant counts#4740

Merged
jeremydmiller merged 3 commits into
masterfrom
feature/jasperfx-2.12.0-dead-letter-apis
Jun 14, 2026
Merged

Upgrade JasperFx family → 2.12.0 + dead-letter row drill-in / per-tenant counts#4740
jeremydmiller merged 3 commits into
masterfrom
feature/jasperfx-2.12.0-dead-letter-apis

Conversation

@jeremydmiller

Copy link
Copy Markdown
Member

Bumps the JasperFx family 2.10.0 → 2.12.0 and implements the two IEventDatabase dead-letter surfaces that 2.12.0 (#453) adds.

Changes

  • Directory.Packages.props — JasperFx / JasperFx.Events / JasperFx.Events.SourceGenerator / JasperFx.SourceGenerator → 2.12.0.
  • QueryDeadLetterEventsAsync (Support for automatically append events from aggregates #369)MartenDatabase implements the new IEventDatabase.QueryDeadLetterEventsAsync: fetch the actual dead-letter event rows for a shard (id, sequence, exception type/message, timestamp, tenant), most-recent-first, paged, optionally scoped to one tenant. Companion to the existing CountDeadLetterEventsAsync.
  • Per-tenant FetchDeadLetterCountsAsync (Introduce a global sequence number in the event store #381) — tenant-scoped override of the dead-letter count fetch, reading DeadLetterEvent.TenantId (new in 2.12.0).

Verification

dotnet build src/Marten/Marten.csproj is green against the published JasperFx.Events 2.12.0 — the implementations override 2.12.0's new interface method and read the new DeadLetterEvent.TenantId, so a green compile confirms the published surface matches.

🤖 Generated with Claude Code

jeremydmiller and others added 3 commits June 14, 2026 18:18
Implement the per-tenant IEventDatabase.FetchDeadLetterCountsAsync(tenantId) overload: filter the
store-global dead-letter table by the DeadLetterEvent.TenantId now recorded per row, so partitioned
stores attribute projection dead letters to the owning tenant. Null tenant falls back to the
store-global (tenant-collapsed) shape.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…CritterWatch#369)

The companion to CountDeadLetterEventsAsync: fetch the actual dead-letter event rows for a shard
(id, sequence, exception, timestamp, tenant), most-recent-first by EventSequence, paged via
offset/limit, optionally scoped to one tenant partition. Default interface method returns empty so
stores without dead-letter persistence are unaffected.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Pulls in #453: IEventDatabase.QueryDeadLetterEventsAsync, DeadLetterEvent.TenantId,
and the tenant-aware daemon surface. Marten implements the new dead-letter row query +
per-tenant FetchDeadLetterCountsAsync (cherry-picked above).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@jeremydmiller jeremydmiller merged commit cfb2b17 into master Jun 14, 2026
8 checks passed
@jeremydmiller jeremydmiller deleted the feature/jasperfx-2.12.0-dead-letter-apis branch June 14, 2026 23:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant