Asynchronous eventAppeared in CatchUpStreamSubscription


We’re currently in the process of implementing Event Store in our solution. However, we have a problem with regards to eventAppeared.

When having one IEventStoreConnection with multiple (13) catch up subscriptions, we’re experiencing issues with blocking calls to eventAppeared. We tried making the action async but that resulted in our event not being handled in the correct order.

After doing a bit of research I saw that this is possible using manual acknowledgement in a PersistentConnection, but can we doing something similar in a catch up subscriptions?

Thanks in advance.


What you can do is connect eventAppeared to a ConcurrentQueue in your
application. Then you can process this ConcurrentQueue with TPL if you want.

As Joao mentioned already you can just move to async on your own. Just
queue the operation on eventAppeared then process as you like. There
is not a need for an "ack" here are as you track your last processed
event in the catchupsubscription not the server (eg you pass it when
you restart a subscription).

Thanks, João & Greg.

That seems obvious now. We’ll give it a shot.