In the case of multi-master replication, other masters may process change operations while a given master is being restored. Therefore, when restoration is complete, the new master must also receive new updates that were not included in the restore data. Because restoring a master might take a significant amount of time, the number of pending updates might also be significant.
To allow convergence of these pending updates, newly restored masters are automatically set to read-only mode for client operations after restoration. This is true only when restoring a master by importing data from an LDIF file at the command line, or by using a backup to perform a binary copy.
Therefore, after restoration, a master in a multi-master configuration will process replication updates and allow read operations, but it will return referrals for all write operations from clients.
To verify that the new master is fully synchronized with the other masters before allowing updates, manually enable updates on an initialized master.
With master replicas sending referrals because of this new behavior, clients wanting to perform write operations might reach their configured hop limit. You might need to increase the hop limit configuration for clients so they can reach an available master. If all master replicas are initialized or reinitialized, all write operations will fail because no replica will be accepting client updates.
In any case, monitor initialized masters closely, and set the referral attributes appropriately to maximize server response.
The following commands can be used in scripts that automate the process of initializing a multi-master replica.
Use the insync tool to ensure that the replica has converged with all other masters.
Replicas are in sync if the delay between modifications on all servers is zero or if the replica has never had any changes to replicate (delay of -1). For more information, see the insync(1) man page.
Begin accepting updates.
$ dsconf set-suffix-prop -h host -p port suffix-DN repl-accept-client-update-enabled:on
This command automatically sets the server to read-write mode.