1. add snapshot recovery state
2. add memory persist classes for test