MySQL Forums
Forum List  »  Announcements

MySQL Router 8.0.21 for MySQL Server 8.0 and 5.7 has been released
Posted by: Bjørn Munch
Date: July 13, 2020 05:47AM

Dear MySQL users,

MySQL Router 8.0.21 is a new release for MySQL Router 8.0 series.

MySQL Router 8.0 is highly recommended for use with MySQL Server 8.0 and 5.7.
Please upgrade to MySQL Router 8.0.21.

The MySQL Router is a new building block for high availability solutions
based on MySQL InnoDB clusters.

By taking advantage of the new Group Replication technology, and
combined with the MySQL Shell, InnoDB clusters provide an integrated
solution for high availability and scalability for InnoDB based MySQL
databases, that does not require advanced MySQL expertise.

The deployment of applications with high availability requirements is
greatly simplified by MySQL Router. MySQL client connections are
transparently routed to online members of a InnoDB cluster, with MySQL
server outages and cluster reconfigurations being automatically handled
by the Router.

To download MySQL Router 8.0.21, see the "General Availability (GA)
Releases" tab at Package
binaries are available for several platforms and also as a source code

Documentation for MySQL Router can be found at


Changes in MySQL Router 8.0.21 (2020-07-13)

     * Packaging Notes

     * Functionality Added or Changed

     * Bugs Fixed

Packaging Notes

     * For Windows, MSI installer packages for MySQL Router now
       include a check for the required Visual Studio
       redistributable package, and produce a message asking the
       user to install it if it is missing. (Bug #30541398)

Functionality Added or Changed

     * Added new log functionality:

          + [filelog]: this new section includes the optional
            filename option that defaults to [logger]'s filename
            value. This file is written to the logging_folder
            directory; and the value must be a file name and not
            include a path.

          + [logger]: added an optional filename option to
            define Router's log file name, and it also sets
            [filelog]'s default filename value. It is unset by
            default, while default filename behavior is Router's

          + [consolelog]: this new section includes the optional
            destination option that defaults to /dev/stderr.
            Available values are /dev/stdout, /dev/stderr, or
            /dev/null on *nix; and CON or NUL on Windows.
       (Bug #29271072, Bug #94095)

     * The strict 1:1 thread-to-connection ratio was replaced by
       an event-driven + IO-threadpool design. Instead of
       running blocking socket operations in a thread,
       non-blocking IO is now used and a thread may be used when
       a socket is available. This raises the concurrent
       connection limit by a Router instance from around 5,000
       to around 50,000.

     * Added support for the InnoDB cluster metadata "tags"
       property; namely for the "_hidden" and
       "_disconnect_existing_sessions_when_hidden" tags.

          + _hidden: A boolean that indicates if the node should
            be hidden. Setting "true" makes the node hidden,
            while "false" or any other value considers it not
            hidden. Default: false.

          + _disconnect_existing_sessions_when_hidden: A boolean
            that indicates if the existing connections to the
            node should be dropped in case the node is hidden. A
            value of "false" means the node is
            "dont_disconnect_existing", meaning existing
            connections to hidden nodes are not disconnected.
            True or any other value means the opposite. Default:
            This setting does not affect new client connections,
            which are never directed to hidden instances.
       Hidden instances only affect user connections; the
       instance remains available to Router when performing
       tasks such as fetching metadata and calculating the

Bugs Fixed

     * Updated mock_server MySQL Server type definitions; fixed
       NEWDECIMAL and added TIMESTAMP2 and JSON. (Bug #31283079,
       Bug #99416)

     * For testing, the full protobuf dependency was replaced by
       protobuf-lite. (Bug #31245124)

     * For Windows, added log rotation support. This
       functionality was previously only available on Unix-based
       systems. (Bug #31212570)

     * The bootstrap process could not complete when MySQL
       Server had the optimizer switch derived_merge set to off;
       because the v2_routers view became non-insertable. Now,
       derived_merge is set to on for sessions that Router is
       handling metadata. (Bug #31170721)

     * Improved the plugin loading mechanism to not implicitly
       load plugins; previously the same plugin could be loaded
       twice. (Bug #31024867)

     * Router assumed that each new GR change notified by X
       Protocol notifications has a new view id, but that is not
       always the case; for example, for changes like switching
       the primary or change of the role. The view id is no
       longer used for notification debouncing. (Bug #31017863,
       Bug #98863)

     * Fixed MSVC 2019 16.6 builds by adding the missing
       headers. Thanks to Billy O'Neal for the patch. (Bug
       #31008906, Bug #98880)

     * Fixed Clang 9 warnings. (Bug #30920954)

     * With use_gr_notifications=1, Router used the old X
       Protocol namespace name (xplugin) when sending the PING
       message over the X Protocol connection that was sent to
       avoid the idle connection from being closed. (Bug

     * With a high TTL and Group Replication (GR) notifications
       enabled, MySQL Shell operations such as addInstance() and
       removeInstance() would go unnoticed until the TTL
       expired; which would trigger GR notifications in the
       meantime. Now Router temporarily decreases TTL to 1s when
       it notices inconsistent metadata until it becomes
       consistent again. (Bug #30739068)

     * On Linux, Router now installs an example logrotate
       example script; it's located at
       /etc/logrotate.d/mysqlrouter. (Bug #30611485)

     * Updated HTTP server logic to function with changes made
       by libevent 2.1.9.

Options: ReplyQuote

Written By
MySQL Router 8.0.21 for MySQL Server 8.0 and 5.7 has been released
July 13, 2020 05:47AM

Sorry, you do not have permission to post/reply in this forum.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.