Interface RaftActorRecoveryCohort
@NonNullByDefault
public interface RaftActorRecoveryCohort
Interface for a class that participates in raft actor persistence recovery.
- Author:
- Thomas Pantelis
-
Method Summary
Modifier and TypeMethodDescriptionvoid
appendRecoveredCommand
(StateCommand command) This method is called during recovery to append aStateCommand
to the current batch.void
This method is called during recovery at the end of a batch to apply the current batched commands.void
applyRecoveredSnapshot
(StateSnapshot snapshot) This method is called during recovery to reconstruct the state of the actor.@Nullable Snapshot
Returns the snapshot to restore from on recovery.void
startLogRecoveryBatch
(int maxBatchSize) This method is called during recovery at the start of a batch of state entries.
-
Method Details
-
startLogRecoveryBatch
void startLogRecoveryBatch(int maxBatchSize) This method is called during recovery at the start of a batch of state entries. Derived classes should perform any initialization needed to start a batch.- Parameters:
maxBatchSize
- the maximum batch size.
-
appendRecoveredCommand
This method is called during recovery to append aStateCommand
to the current batch. This method is called 1 or more times afterstartLogRecoveryBatch(int)
.- Parameters:
command
- the command
-
applyRecoveredSnapshot
This method is called during recovery to reconstruct the state of the actor.- Parameters:
snapshot
- theStateSnapshot
to apply
-
applyCurrentLogRecoveryBatch
void applyCurrentLogRecoveryBatch()This method is called during recovery at the end of a batch to apply the current batched commands. This method is called afterappendRecoveredCommand(StateCommand)
. -
getRestoreFromSnapshot
@Nullable Snapshot getRestoreFromSnapshot()Returns the snapshot to restore from on recovery.- Returns:
- the snapshot or null if there's no snapshot to restore
-