RethinkDB provides two ways to handle the failover:
RethinkDB performs automatic failover handling if, and only if, the cluster has three or more RethinkDB instances running, and if a table has three or more voting replicas available. If these conditions do not match, then automatic failover handling will not occur.
We have done a quite nice demonstration of this in the Performing replication and performing sharding section in Chapter 4, Performance Tuning in RethinkDB, where we had three live servers running along with three replicas for each table and we shut down instances, including primary, to validate the automatic failover handling.
But what if the ideal situation happens, ...