What happens to an eventsByTag stream after gap-timeout?

According to the documentation (in reference.conf) of akka-persistence-cassandra, “when a gap is detected no new events are emitted from the stream until either the missing events are found or the timeout is reached”. So what exactly happens if the timeout is reached? Will the stream complete with failure? Or will the stream continue without the missing event and if so what if the event is found later?

The stream is completed with failure.

In Lagom it will restart because once you configure a read-side processor, it restarts after a failure using a RestartSource.withBackoff.
#shamelessplug :slight_smile:

1 Like

Thanks Renato.

BTW, most every useful projection (to use the proper term, my friend) will resume, I guess ;-)

Absolutely, Projection is the right term. Totally agree.

An ad-hoc query triggered by a user is typically something that won’t resume and the failure reported to the user.

A Projection is a back office process that must always resume within some backoff delays. Who knows, one day the gaps are filled and your projection resumes. ;-)

Documented here: https://github.com/akka/akka-persistence-cassandra/blob/master/EventsByTag.md#missing-and-delayed-events

1 Like