Skip to content

V3 checklist #116

@bartelink

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
    No fields configured for issues without a type.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions