migrate from multiple streams subscriptions to $all subscription


Currently I have multiple subscriptions for several streams and planning to migrate to one for $all subscription.

The thing is that I don’t want to replay all events, because there’s over 10 million events and most of them (around 80%) involve complex stats calculation + writing to RDBMS. Thus it will take around one week to replay all events.

So I’m thinking to get last processed numbers from all those streams I’m subscribing to, find the commit/prepare positions in $all stream and get the biggest one. Does it make any sense or is there any better way to do get these commit/prepare positions?


Correct, you can use that commit/prepare position as your initial checkpoint position to start your $all catchup subscription at.