Skip to content

Expectations for a Store: Should explicitly mention subs not missing or reordering events #6

@bartelink

Description

@bartelink

in https://github.com/ylorph/RandomThoughts/blob/master/2019.08.09_expectations_for_an_event_store.md

There is:

ability to have subscription

But there is nothing that calls out that it should guarantee never to miss an event if you have a live subscription and there are multiple writers.

Until today I thought this should go without saying (and it's great that this doc is pithy and not full of legalese), but it has come to my attention that in some cases that delivering that 100% and/or documenting the likelihood of the absence of such a complete guarantee is ins some way debatable

I believe CosmosDB ChangeFeed, DynamoDB Streams, MessageDb category subscriptions guarantee this and document it as so (some digging may be required, I dont have citations). I believe ESDB should guarantee this, but there are far better qualified people than me to make the claim. For others, it gets more confusing; if this list mentioned it explicitly as being significant, it would elevate the need for stores to consider and/or answer the question.


Clarification re DynamoDB streams:

  • at the time I wrote this, I thought it provided a guarantee that each update under a given Partition would be delivered in the order it happened
  • it turns out that the guarantee is only for relative order of insert/updates/deletes to an individual Item, i.e. per item identified by a Sort key within that Partition. Equinox.DynamoStore had a fix applied that compensates for this. I'm not aware of a source-available implementation of an Event Store on Dynamo DB that is not affected by this

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions