Repository navigation
JasperFx 2.88.0: prove a failed Rebuild-mode run can be restarted and finished (#5668) - #5669
Merged
Merged
Conversation
…s committed progress JasperFx/jasperfx#1015 (wolverine#4569) adds IProjectionDaemon.StartAgentInRebuildModeAsync. This test starts a shard that way with extended progression tracking on and no other schema change, makes the projection throw part way through so the shard pauses, then stops it, clears the fault and starts it in Rebuild mode again. The second run finishes from the progress the first run committed: every document is folded exactly once, no committed event is applied twice, the failure columns clear, and the shard keeps following the store afterwards. Against a JasperFx build without #1015's resume logic the same test fails: the 50 committed documents end with Count == 2, because the restart rewinds to 0 and replays over them. Requires a JasperFx release containing #1015. Validated locally against a 2.87.2-local.1 pack, which is not part of this commit. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Picks up JasperFx/jasperfx#1015: IProjectionDaemon.StartAgentInRebuildModeAsync and the three new ProjectionSideEffectCompliance facts. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This was referenced Oct 16, 2026
This was referenced Oct 23, 2026
This was referenced Oct 23, 2026
Open
This was referenced Oct 30, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #5668.
What's here
IProjectionDaemon.StartAgentInRebuildModeAsync(ShardName, ct), which starts a projection shard in Rebuild mode. The shard publishes no side effects, keeps following the store past the high-water mark, and resumes from its own persisted progress instead of rewinding to 0. This is for the blue/green warm-up node role in Blue/green: let a node run projection agents without doing any messaging wolverine#4569.DaemonTests.rebuild_mode_start_resumes_after_a_failureproves that a Rebuild-mode run that fails partway through can be stopped, fixed, restarted and finished. Extended progression tracking is on, and there's no other schema change.Count == 2.BatchSize = 10, so several pages commit before the failure.Verification
EventSourcingTests.projection_side_effect_compliancepasses 12/12. That count includes the three facts Child list can not be populated #1015 added toProjectionSideEffectCompliance.Count == 2, because the restart rewinds to 0 and replays over them.🤖 Generated with Claude Code