Any server of an Advanced Replication system can be made highly available with the solidDB HotStandby (HSB) component.
When the master and replica databases of an Advanced Replication system are synchronizing data, the synchronization occurs between the primary servers of the database server pairs. In other words, the primary server of the master database communicates with the primary server of the replica database. See HotStandby and Advanced Replication.
A database server can fail over to its secondary server at any point of time, including when the database server is synchronizing data with another server using Advanced Replication. If the failover occurs during synchronization, executing the synchronization message stops and the process must be resumed after the failover. For details about how to resume synchronization after an error has occurred, see Using HotStandby with applications.
If a server that contains a master database is made fault tolerant with HSB, the replicas of the master database must know the connect strings to both master servers. To do this, execute the following statement in each of the replica databases:
SET SYNC CONNECT 'connect_string_to_server_1, connect_string_to_server_2' TO MASTER master_servername
In the following diagram, the first picture shows the original connections to the original primary server for the master database. The second picture shows the new connections to the new primary (original secondary) master database server that are used if the synchronization with the original primary server fails.
Typically a master database server uses remote procedure calls (CALL... AT) to run procedures on a replica database, for example to initiate the synchronization.
In this case, if a pair of HSB servers includes a replica database, the master database must be informed about the connect strings to both of the replica database servers in order for Advanced Replication to continue to work when the primary replica database server fails. To inform the master database about the connect strings to the replica database server pair, execute the following statement in the master database:
SET SYNC CONNECT 'connect_string_to_server_1, connect_string_to_server_2' TO REPLICA replica_servername
Alternatively, you can save the statement in the replica database and propagate it to the master database the next time that you synchronize. In that case, use the following statement:
SAVE SET SYNC CONNECT 'connect_string_to_server_1, connect_string_to_server_2' TO REPLICA replica_servername
Note If the master database never executes remote procedure calls in the replica database, these statements are not needed.