The MySQL Development Team is very happy to announce a new 8.0 Maintenance Release of InnoDB Cluster – 8.0.14!
In addition to bug fixes, 8.0.14 brings exciting new features!
MySQL Shell
For this release, we have focused on extending the AdminAPI with several highly desired features. But also, as always, we have extended it to support every new Group Replication feature. On top of that, quality has been greatly improved with many bug fixes addressed.
Here are the highlights of this release:
- Changing cluster topology modes “live”
- Checking current cluster configuration options
- Changing cluster members or global cluster options “live”
- Defining the timeout to expel an unresponsive member of a cluster
- Increasing data consistency by enabling the “read your writes” fencing mechanism
- Extended status information available from <Cluster.>status()
- Redesigned and extended <Cluster.>rescan()
For more details of every single new feature added, check the series of blog posts linked above!
MySQL Router
For this release, we have extended Router to support the new exciting features brought by Group Replication and MySQL Shell. On top of that, several bug fixes were addressed having in mind the users feedback and to also improve performance and usability.
Here are the highlights of this release:
- Router automatically adapting to changing addresses of metadata-servers
- Router connection errors automatically reset
Adapting to changing addresses of metadata-servers
Up to 8.0.13, MySQL Router wrote the addresses of the InnoDB cluster nodes into its configuration file at boostrap time. As long as one of the addresses referred to an InnoDB Cluster member and the member is part of the majority of the cluster, the Router would accept its data and route traffic to it.
However, at runtime, InnoDB Cluster allows to add and remove members from the cluster and MySQL Router adapts to those changes automatically.
Over time:
- All new nodes of the InnoDB Cluster may be on new IP-addresses
- All old nodes of the InnoDB Cluster may be shut down
If MySQL Router 8.0.13 and earlier is restarted, it would lose all the information of the current set of InnoDB Cluster members and fall back to the addresses registered in the configuration file.
Starting in 8.0.14, the Router will persist the current set of addresses locally and reload it when restarted.
Automatic reset of connection errors
MySQL Router blocks clients which are failing the protocol handshake after “max_connect_errors”. Up to 8.0.13, this error counter would never reset which over time led to clients being blocked with sporadic connection errors.
In 8.0.14 MySQL Router follows the MySQL Server behavior and resets the counter if a client does a successful connection (BUG#90809).
Other changes
- Don’t log “Connected with metadata server running on …” every 500ms by default
- Reduced default connect-timeout from 30sec to 15sec between router and server (server’s default is 10sec)
- Faster shutdown when SIGINT/SIGTERM is received (~100ms)
- Faster shutdown when SIGINT/SIGTERM is received while connection to unreachable metadata-servers is attempted.
- Don’t abort when receiving invalid authentication packets (BUG#2879333)
- Aligned MySQL Router’s version string with MySQL Server
Summary
This is the third Maintenance Release of MySQL InnoDB Cluster, but our continuous work to improve the ease-of-use, power and flexibility of InnoDB cluster won’t stop!
InnoDB cluster will not only continue to make MySQL easier for all users but also give full advanced control and capabilities to power users.
As always, we are eager to listen to the community feedback! So please let us know your thoughts here in the comments, via a bug report, or a support ticket.
You can also reach us at #shell and #router in Slack: https://mysqlcommunity.slack.com/
The official documentation can be found in the MySQL InnoDB Cluster User Guide.
The full list of changes and bug fixes can be found in the 8.0.14 Shell and Router Release Notes
Enjoy, and Thank you for using MySQL!