jet / jet/propulsion

Add Streamwise Catchup mode

Open
#11 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
F#
Stars
190
Forks
24
PR merge metrics
No merged PRs in 30d

Description

`equinox-sync` and `Propulsion.EventStore` originally had a mode in which, when syncing from EventStore to Cosmos, one could:

1. start projecting from the tail without first doing a full sync operation
2. request `N` stream-readers (defaults to 1)
3. have each event observed on a stream that's not currently in sync request a `ReadStreamEventsForwardAsync`-based catchup read and project in order to enable the event to be written to the target correctly.

Large amounts of the code are in place for this with TODO markers etc; work has been deferred as its not anticipated that we'll use this mode (reading streamwise is extremely resource-intensive on an EventStore server relative to reading the `$all` stream, and the feature is only relevant where the wall clock time involved in an initial sync would render it prohibitive to do so)

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.