While catching up or replaying a projection, a transaction for the highest applied event sequence number is only closed when an event was actually applied or the catch-up-process is done. This speeds up the process dramatically for event stores containing hundreds of thousands of events.
Two examples:
1) Event store with 2.000.000 events. Only 3500 are relevant for the projection in question. Replaying the projection takes
6 minutes 22 seconds without the patch
0 minutes 50 seconds with the patch
2) Event listener lags 50.000 events behind. Only 1 new relevant event for the projection. Catching up takes
While catching up or replaying a projection, a transaction for the highest applied event sequence number is only closed when an event was actually applied or the catch-up-process is done. This speeds up the process dramatically for event stores containing hundreds of thousands of events.
Two examples:
1) Event store with 2.000.000 events. Only 3500 are relevant for the projection in question. Replaying the projection takes
2) Event listener lags 50.000 events behind. Only 1 new relevant event for the projection. Catching up takes
Resolves #316