Skip to content
Switch branches/tags

Latest commit

…is under heavy load

In a ClusterSet where the PRIMARY is under very high load, the
GTID_EXECUTED queried there can have fewer gtids than
GTID_EXECUTED queried from a replica cluster. This is because
transactions are written to the binlog before they're externalized
locally and added to GTID_EXECUTED.

In order to reduce the reporting of false errant transactions caused by
that, replication_connection_status.received_transaction_set is
subtracted from the GTID_EXECUTED of each replica cluster before
comparing to the GTID_EXECUTED of the primary cluster. This filters out
GTIDs we know came from the PRIMARY.

As a known issue, whenever the clusterset_replication channel is changed
received_transaction_set will be reset. In that case, the filtering
would not temporarily work until the GTID_EXECUTED at the primary
catches up.

The output of clusterset.status({extended:2}) now includes
receivedTransactionSet in replica clusters, in order to better help
monitor transaction set consistency.

Change-Id: Ie4678781daec45742c5c2e5f4fd432591e18db1d

Git stats


Failed to load latest commit information.
Latest commit message
Commit time
Copyright (c) 2016, 2021, Oracle and/or its affiliates.

This is a release of MySQL Shell (part of MySQL Server), an interactive
JavaScript, Python and SQL console interface, supporting development and
administration for the MySQL Server. It provides built in scriptable APIs
that support the creation and management of MySQL InnoDB clusters,
as well as a modern fluent CRUD API for the MySQL Document Store.
Connections to MySQL server can use X Protocol or classic MySQL protocol.

The AdminAPI enables you to work with MySQL InnoDB cluster, providing
an integrated solution for high availability and scalability using
InnoDB based MySQL databases, without requiring advanced MySQL
expertise. For more information about how to configure and work with
MySQL InnoDB cluster see

The Document Store X DevAPI enables developers and DBAs to create "schema-less"
JSON document collections and perform Create, Update, Read, Delete (CRUD)
operations on those collections without in depth knowledge of the SQL language.

Additionally, MySQL Shell (part of MySQL Server) provides partial compatibility
with the mysql command line client by supporting many of the same command line
options. As with the mysql command line, MySQL Shell (part of MySQL Server) can
also be used to connect to and send SQL commands to MySQL server using the
classic MySQL protocol.

For more information about how to use MySQL Shell see

For more information about how to configure and work with an InnoDB cluster

For more information about how to use X DevAPI and the MySQL Document
Store see

For JavaScript API documentation, see:

For Python API documentation, see:

For full documentation on MySQL Server, MySQL Shell and related
topics, see:

If you want to write applications that use the the CRUD based X DevAPI use the
latest MySQL Connectors for your language of choice. For documentation see

License information can be found in the LICENSE file.

This distribution may include materials developed by third parties.
For license and attribution notices for these materials, please refer to
the LICENSE file.

For more information on MySQL Shell (part of MySQL Server), visit

For additional downloads and the source of MySQL Shell (part of MySQL Server),

MySQL Shell (part of MySQL Server) is brought to you by the MySQL team at


MySQL Shell is a new command line scriptable shell for MySQL. It supports JavaScript and Python.




No packages published