1. add snapshot recovery logic
2. add step down for candidate receiving AE