RBMHTechnology/eventuate

Potentially Inconsistent EventLogClock snapshot in Cassandra backend in case of disaster recovery

volkerstampa opened this issue · 0 comments

At the end of disaster recovery the current sequence number of the recovered log is set to the maximum of the its current value and the log's entry in the current version vector to compensate for potentially unrecovered (lost) events from filtered replication connections. To ensure that this adjustment survives restarts it is immediately persisted in form of an EventLogClock-snapshot. However in case of the Cassandra backend this snapshot is also used as indication up to which sequence number events are already indexed (stored in the corresponding aggregate table). So after the adjustment events that have not been indexed yet are basically lost for the corresponding aggregates.