Recovery
The recovery phase is triggered for the following conditions:
When a topology is started for the first time.
If the previous transaction was not prepared successfully, a rollback message is sent across the topology to indicate that if a bolt has some prepared transactions it can be discarded.
If the previous transaction was prepared successfully but not committed, a commit message is sent across the topology so that the prepared transactions can be committed.
After these steps finish, bolts are initialized with the state.
When a bolt fails to acknowledge the checkpoint message; for example, if a worker crashes during a transaction.
When the worker is restarted by the supervisor, the checkpoint mechanism ensures that the bolt is initialized with its previous state. Checkpointing continues from the point where it left off.