This PR adds a SubscriptionsSupervisor, which is responsible for keeping track of the currently started Subscriptions.
This removes the need for manual bookkeeping in Commanded.EventStore.Adapters.Extreme and we can port it from a GenServer to a plain module.
This fixes an issue where Commanded.EventStore.Adapters.Extreme could crash and forget about the subscriptions that were already started, which could cause duplicate Subscription-processes to be started, until the maximum subscriber count of EventStore is reached.
This PR adds a
SubscriptionsSupervisor
, which is responsible for keeping track of the currently started Subscriptions.This removes the need for manual bookkeeping in
Commanded.EventStore.Adapters.Extreme
and we can port it from a GenServer to a plain module.This fixes an issue where
Commanded.EventStore.Adapters.Extreme
could crash and forget about the subscriptions that were already started, which could cause duplicate Subscription-processes to be started, until the maximum subscriber count of EventStore is reached.Please feel free to make any adjustments :-)