You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* #4516: reduce ProjectionCoordinator to a ProjectionCoordinatorBase subclass
#326 lifted the projection-coordinator execute loop + agent-start
resilience + lifecycle (Start/Pause/Resume/Stop) into
JasperFx.Events.Daemon.ProjectionCoordinatorBase. Reduce Marten's coordinator to
a subclass:
- Supply via the base ctor: BuildDistributor(store), the store's
ResiliencePipeline, Events.TimeProvider, and the three settings
(LeadershipPollingTime as a TimeSpan, AgentPauseTime, HealthCheckPollingTime).
- Implement the seams: ResolveDaemon (keeps Marten's ImHashMap +
double-checked-lock daemon cache) and ResolvedDaemons; keep the existing
DaemonForMainDatabase / DaemonForDatabase / AllDaemonsAsync.
- Delete the lifted-into-base members: executeAsync, start/stopAgentsIfNecessary,
tryStartAgent, the Start/Pause/Resume/Stop bodies, pauseDistributor, and the
DaemonShardName record. Behavior is unchanged (the base adopted Marten's
resilient agent-start + single-cancellation lifecycle verbatim).
DaemonTests 185/0; HotCold leadership-election tests (detect_high_water_mark,
end_to_end_with_events_already_published) pass.
Closes#4516.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* #4527: derive HiloSequence from Weasel.Core.Sequences.HiloSequenceBase
Completes #4527 (the serialization-enum subset landed in #4529). weasel#287
lifted the dialect-agnostic Hi-Lo pieces into Weasel.Core.Sequences:
HiloSequenceBase (state + arithmetic), ISequence, IReadOnlyHiloSettings,
HiloSettings, and HiloSequenceAdvanceToNextHiAttemptsExceededException.
- Marten's HiloSequence now derives from HiloSequenceBase, keeping only the
PostgreSQL I/O (mt_get_next_hi stored function in AdvanceToNextHi/Sync, the
mt_hilo floor update in SetFloor). The client-side arithmetic
(AdvanceValue/ShouldAdvanceHi/NextInt/NextLong/TrySetCurrentHi/hi-lo state) is
inherited verbatim — id allocation is unchanged.
- Delete Marten's ISequence / IReadOnlyHiloSettings / HiloSettings /
HiloSequenceAdvanceToNextHiAttemptsExceededException copies and alias the old
names via the shared dedupe file (shapes identical; the exception's base
changed MartenException -> Exception but nothing catches it as MartenException).
- AdvanceToNextHiSync is protected on the base; the one test that drove it
directly now invokes it reflectively to keep exercising the sync I/O path.
Hi-Lo + sequence-id tests pass (32/0).
Closes#4527.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
_logger.LogError(e,"Error trying to attain a lock for set {Name} and lock id {LockId}. Will retry later",set.Names.Select(x =>x.Identity).Join(", "),set.LockId);
0 commit comments