what is the delivery guarantee of messages sent to the snapshotStore, such as DeleteSnapshot, SaveSnapshot etc?
is it at-least-once or is it at-most-once?
In other words, if I call SaveSnapshot(), am I guaranteed to receive either SaveSnapshotSuccess/Failure or will I receive them only if snapshot actually receives them and accept or reject them?
From inspecting the source code for the latest version of
SnapshotStore.scala, it looks like the trait only extendsActorandActorLogging, so message delivery semantics may just be at most once:https://github.com/akka/akka/blob/9d2bec7f232b628cc087231af75e457072823e61/akka-persistence/src/main/scala/akka/persistence/snapshot/SnapshotStore.scala