Duplicate Subscription Groups

Hi, we encountered a strange issue where we have duplicate competing consumer subscription groups. That is two identical groups for the same stream.
I can delete one of the groups, but when I try to delete the second one it is like it did not exist. We receive a 404 if I look at the debug console when doing so.

Anyone had this before?

We are running version, a cluster of 3 nodes

I am curious how you created duplicated groups for two reasons.

  1. there is an explicit check if it already exists https://github.com/EventStore/EventStore/blob/release-v4.0.3/src/EventStore.Core/Services/PersistentSubscription/PersistentSubscriptionService.cs#L151

  2. the subscriptions are stored in a dictionary based upon their key which is defined as


So I am not really sure how you could have duplicate subscriptions as they would have the same key.

Yes it is very strange.

We had some connectivity issues from our components that connects to the cluster, and when we opened the eventstore ui we saw that there was duplicate subscription groups on all (3) different competing consumer streams that we use.

The components were unable to reconnect, so we tried to delete one of the duplicates manually. that is when we discovered that the ui got 404 back on the DELETE operation.

Now, we just restarted the master node and the duplicates are gone and the components are able to connect again.

How did you measure this? It is in fact impossible to have duplicated groups (they are kept in a dictionary based on the stream/group), it would result in a duplicated key.

Yes, I understand this. We thought it might just be a visual bug in the UI, but we actually got the same result on two different machines.

Just to be clear that we speak about the same thing:

On the competing consumer “tab” we have the Dashboard with a list of Stream/Group(s).

We had 3 items in that list each with two (duplicate) entries. Same name, same settings.

If you ran into connection issues from the client, it may be that you’ve run into this issue that was reported on github a short while ago.