Skip to content

V3 checklist #116

Description

@bartelink
  • Cosmos: continues to target Equinox.Cosmos >= 2.6.0, so can not be used side by side with Propulsion.* >=3.0.0. Probably remove in 3.x
  • CosmosStore: target non-preview CFP logic (I believe that will be in Microsoft.Azure.Cosmos 3.21.0 see PR)
  • rename maxDocuments to maxItems for CosmosStore
  • Add AwaitWithStopOnCancellation
  • Kafka: target FsKafka/CK ~1.7 V1.7.0 checklist FsKafka#48
  • Kafka0: remove see V1.7.0 checklist FsKafka#48
  • remove net461 multitargeting
  • EventStore: update to target Equinox.* 3.0.0. Probably remove in 3.x
  • SqlStreamStore: update to target Equinox.* 3.0.0 (currently does not bind to Equinox)
  • CosmosStore3: target Equinox.CosmosStore 3.x
  • CosmosStore: target Equinox.CosmosStore >= 4
  • EventStoreDb: target Equinox.EventStoreDb >= 4
  • remove dependency on .Destructure.FSharpTypes by replacing Option with Nullable and list with Array
  • Replace all tuples with ValueTuple and other cleanup (see V3 cleanup and signature changes #169)
  • Propulsion: push StreamSpan and/or an equivalent down into FsCodec (or perhaps use tuples for signatures)
  • Propulsion, CosmosStore, Cosmos: separate out .Prometheus packages
  • Propulsion: Consider removing Parallel stuff and/or shifting it out to a specific package as
    a) it has no metrics
    b) it has low usage
    c) while its arguably an on-ramp to understanding the streams impl, it also increases the concept count
  • Improve serverless support and resource consumption by:
    • replacing combinations of SemaphoreSlim + ConcurrentQueue + Async Write APIs with usage of System.Threading.Channels
    • provide a Lambda-hosted DynamoStore projection loop mode which (subject to a timeout and linger period), reads from the index, runs the projections (and/or cancels them if if the timeout has been reached), checkpoints until one of:
      • timed out
      • index tail reached and linger period expired
    • provide an Azure Functions mode where
  • Kafka: Separate Sink from Consumer/Source in the StreamsProjector in manner equivalent to how it works for other sources in order that Kafka does not need to be special-cased wrt SourceArgs in the dotnet-templates proReactor template
  • EventStore: Merge the striped reader support into EventStoreDb and remove

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions