Skip to content

Release v19.5.0

Choose a tag to compare

@github-actions github-actions released this 25 Sep 11:04
af57d62

Summary

An observer outlives the code that declared it. Delete a read model and its projection, or remove a reactor, and nothing tells the event store — the observer stops being reported, settles into Disconnected and stays there forever, keeping its definition, its state and handled counts in every namespace, its failed partitions and its projection definition. Until now nothing short of editing storage directly got rid of it.

Removal covers the whole event store, because an observer's definition and its projection definition are store-level records shared by every namespace. It refuses while the observer is running or has a subscribed client in any namespace, and names the namespace that blocked it. There is no force flag. Read models and sink containers are left untouched.

Added

  • Removing an observer and everything the event store keeps for it — its definition, its state and handled counts in every namespace, its failed partitions, its in-flight events and, for a projection, its projection definition. Refuses while the observer is running or still has a subscribed client in any namespace, naming the namespace that blocked it. Read model data is left untouched (#4151)
  • EventStore.Observers on the .NET client, for listing the observers of an event store and removing one (#4151)
  • A Remove action on the Workbench observers page, with a confirmation that states what removal deletes, what it leaves alone and that it cannot be undone (#4151)