I’ve been trying to recover ‘missed’ events when a denormalizer comes back online by using ReadAllEventsForward and passing the position that was last seen (using the latest dev branch).
I assumed that ReadAllEventsForward just returns me the list of events since ‘position’ up to ‘max’ (I’m passing int32.maxvalue for this) and then that’s that. When I call this method I get a sensible looking set of events back, however once I subscribe normally (SubscribeToAllStreamsAsync) I seem to receive a hell of a lot of duplicate events in the subscription handler. Just to see what the cause might be I’ve left the call to ReadAllEventsForward but do absolutely nothing with the returned events, so there should be no side effect. If I take this call out then everything works as expected (no duplicated events).
I’ve got an integration test that shoves 100k events through the EventStore and does a basic test to make sure they were all persisted in the read db, which is how I’m testing this code atm. So with the call to ReadAllEventsForward I get lots of duplicated messages, otherwise it works fine.
Am I doing something wrong here?