Skip to content

feat(#4975): exact ReadProjectionProgressAsync(ShardName) override + JasperFx 2.29.0#4976

Merged
jeremydmiller merged 1 commit into
masterfrom
feature/4975-read-progress-by-shardname
Jul 17, 2026
Merged

feat(#4975): exact ReadProjectionProgressAsync(ShardName) override + JasperFx 2.29.0#4976
jeremydmiller merged 1 commit into
masterfrom
feature/4975-read-progress-by-shardname

Conversation

@jeremydmiller

Copy link
Copy Markdown
Member

Follow-up to #4962. JasperFx/jasperfx#529 (JasperFx.Events 2.29.0) adds an exact per-cell progression read; this implements it on MartenDatabase.

What

ReadProjectionProgressAsync(ShardName name, CancellationToken) — a straight where name = @name.Identity lookup against mt_event_progression, no version/shard collapsing (the caller supplies the full ShardName, e.g. from AllProjectionProgress). A blue/green deploy's versions, a sliced projection's shard keys, and per-tenant partitions each address their own row; ShardKey == "All" is the projection's global cell. Returns null for an absent identity; AgentStatus/LastHeartbeat stay null (#519).

Bumps the JasperFx packages 2.28.1 → 2.29.0.

Tests

Extends read_projection_progress: the exact overload reads the specific version (25 for V2, not the newest V3's 40), returns null for an absent identity, and distinguishes tenant rows. 8/8 pass locally against the published 2.29.0.

Closes #4975. Companion to the Polecat adoption (JasperFx/polecat#333) and the umbrella #435.

🤖 Generated with Claude Code

…JasperFx 2.29.0

Follow-up to #4962. #529 (JasperFx.Events 2.29.0) adds an exact per-cell
progression read; implement it on MartenDatabase as a straight
`where name = @name.Identity` lookup against mt_event_progression — no version/shard
collapsing, so a blue/green deploy's versions, a sliced projection's shard keys, and
per-tenant partitions each address their own row. A ShardKey of "All" is the projection's
global cell. Returns null when the identity has no row; AgentStatus/LastHeartbeat stay null
(#519). Bumps the JasperFx packages 2.28.1 -> 2.29.0.

Adds read_projection_progress coverage: exact overload reads the specific version (not the
newest), returns null for an absent identity, and distinguishes tenant rows.

Closes #4975.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XKKBPsFJ83jd2o4hyGJnj6
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.

Implement the exact ReadProjectionProgressAsync(ShardName) overload (jasperfx#529)

1 participant