Restarting a Stripe
Restart behavior is closely related to failover, but the difference is that the interruption period is typically much longer. On a restart, every server waits for the last active server to return instead of electing a different server as active. If a server other than the last active is elected as the active on a restart, it could cause data loss. To avoid such a data loss, every restarted server will wait in a suspended state until all of its peers are also started up so that the last active can be found and elected as the leader.
Unless a timeout is set, the time the clients will wait for the server to return is indefinite.
Note that a stripe can be both restartable and possess high-availability, if it is configured for restart support but also contains multiple servers. In this case, failover will progress as normal unless the entire stripe is taken offline.
Comparison with failover
The process of a client reconnecting to a restarted server is very similar to a newly-promoted active server after a fail-over. Both scenarios involve the clients reconnecting to re-send their in-flight transactions. Also, both will progress as normal once all clients have reconnected or the reconnect window closes.
The primary difference is that restart only requires one server, whereas high-availability requires at least two.