MySQL Shell 9.1  /  MySQL AdminAPI  /  Replication Compatibility Checks

6.14 Replication Compatibility Checks

AdminAPI validates the version compatibility when configuring replication between instances in a managed topology.

  • If the versions are compatible, replication is configured and started.

  • If the versions have limited compatibility, a warning is displayed, and replication is configured and started.

  • If the versions are incompatible, an error is displayed and the operation stops.

Note

If the channel is configured for failover, such as for Read Replicas or ClusterSet, the verification includes potential sources and replicas.

See the following for information:

Operations Affected

The following operations perform version compatibility checks:

  • ReplicaSet.add_instance()

  • ReplicaSet.rejoin_instance()

  • ReplicaSet.set_primary_instance()

  • ReplicaSet.force_primary_instance()

  • ReplicaSet.rescan({"addUnmanaged": true})

  • Cluster.add_replica_instance()

  • Cluster.rejoin_instance(), when rejoining a Read Replica.

  • Cluster.force_quorum_using_partition_of(), when the cluster includes Read Replicas.

  • Cluster.set_instance_option(..., "replicationSources", ...)

  • ClusterSet.create_replica_cluster()

  • ClusterSet.rejoin_cluster()

  • ClusterSet.set_primary_cluster()

  • ClusterSet.force_primary_cluster()

  • dba.reboot_cluster_from_complete_outage()

  • dba.create_replica_set({"adoptFromFromAR": true})

  • Cluster.add_instance()

  • Cluster.rescan({"addUnmanaged": true})

*.status Operations

The *.status operations perform the following validations:

  • Cluster.status(): checks compatibility of Read Replicas, if any are present.

  • ReplicaSet.status(): checks compatibility of all members.

  • ClusterSet.status({extended: 1}): checks compatibility for the channel between replicas and primary cluster.

Errors and warnings are displayed in the instanceErrors field of the affected instance in the returned status.

Enabling and Disabling Compatibility Checks

The Shell option dba.versionCompatibilityChecks configures whether instance incompatibility causes the operation to stop, or if the operation is permitted to continue and the error logged. It is enabled by default.

To disable the compatibility checks, run the following:

       PY > shell.options['dba.versionCompatibilityChecks']=False

See Section 13.4, “Configuring MySQL Shell Options” for more information.