Failure-recovery commands

The commands in this topic are used to work with epoch numbers.

Each replica uses an epoch number matrix to track its own state and the state of all other replicas. (Because replicas are always changing, a replica knows what changes have been made to itself, but it has only an estimate of the states of other replicas.) Each time a replica sends an update packet, it updates its own epoch number matrix, under the assumption that the packet will be delivered to its destinations and applied to the appropriate replicas. For more information, see The operation log.

Use the failure-recovery commands in Failure-recovery commands when this assumption of successful delivery does not hold true.

Table 1. Failure-recovery commands
Command Description
chepoch Changes a replica’s epoch number matrix
lsepoch Lists a replica’s epoch number matrix
recoverpacket Resets a replica’s epoch number matrix so lost packets are sent again (required when a packet is lost or unusable)
restorereplica Restores a replica from backup. This command places a replica in a special state, in which it sends epoch number matrix corrections to other replicas. The replica cannot be used for normal development work until it receives special updates that inform it of the current states of other replicas.