lerna-stack / akka-entity-replication

Akka extension for fast recovery from failure with replicating stateful entity on multiple nodes in Cluster

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SnapshotStore saves an entity's snapshot history

xirc opened this issue · comments

SnapshotStore ( ~ v2.1.0) saves an entity's snapshot as a snapshot, not an event. One of the reasons behind this is reducing storage space for saving entitys' snapshots.

As same as other persistent actors such as RaftActor, SnapshotStore is wanted to be rolled back to a certain point (timestamp or sequence number). To support this rollback, SnapshotStore should save an entity's snapshot as an event instead. Note that this change will increase required storage space to save snapshots.

Considerations:

  • SnapshotStore maintains data backward compatibility. The new SnapshotStore should read a snapshot that the old SnapshotStore saved.
  • The new SnapshotStore should not change message protocols as possible not to affect other actors such as RaftActor and SnapshotSyncManager.