When I use PersistentFSM i often find myself in situation that i have to reject almost all commands in initial state. Initial state represents “does not exists” state. In this state only create message is allowed. So all operations that supposed to get something from an actor should fail. But it has a side effect that getting from “not existing” entity causes PersistentFSM to store event about state change, what materializes not existing entity in database.
I know i can verify existence of an actor (via db query) prior to sending a message to an actor but maybe someone struggled with similar pattern.