Interface RaftActorRecoveryCohort


@NonNullByDefault public interface RaftActorRecoveryCohort
Interface for a class that participates in raft actor persistence recovery.
Author:
Thomas Pantelis
  • 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

      void appendRecoveredCommand(StateCommand command)
      This method is called during recovery to append a StateCommand to the current batch. This method is called 1 or more times after startLogRecoveryBatch(int).
      Parameters:
      command - the command
    • applyRecoveredSnapshot

      void applyRecoveredSnapshot(StateSnapshot snapshot)
      This method is called during recovery to reconstruct the state of the actor.
      Parameters:
      snapshot - the StateSnapshot 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 after appendRecoveredCommand(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