MySQL InnoDB Cluster – What’s new in the 8.0.14 (GA) release

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:

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!

About Miguel Araújo

Miguel Araújo is a Senior Software Engineer on the MySQL Team, at Oracle. He's the Tech Lead of the AdminAPI, core component of MySQL InnoDB Cluster, at the MySQL Shell team. In the past, he has worked on different projects and teams, mostly related to Middleware and High-Availability. He has a Computer Science Engineering degree and Master's degree, from the University of Minho, Portugal, where he was also a researcher. His backgrounds are on distributed systems, scalability, database replication and high-availability. He is based in Portugal.