When a group is deployed in multi-primary mode, transactions are checked to ensure they are compatible with the mode. The following strict consistency checks are made when Group Replication is deployed in multi-primary mode:
If a transaction is executed under the SERIALIZABLE isolation level, then its commit fails when synchronizing itself with the group.
If a transaction executes against a table that has foreign keys with cascading constraints, then its commit fails when synchronizing itself with the group.
The checks are controlled by the group_replication_enforce_update_everywhere_checks
system variable. In multi-primary mode, the system variable should normally be set to ON
, but the checks can optionally be deactivated by setting the system variable to OFF
. When deploying in single-primary mode, the system variable must be set to OFF
.