MySQL 8.0.16 Introduces Message Fragmentation for Group Replication
MySQL 8.0.16 adds a message‑fragmentation feature to Group Replication that splits oversized broadcast messages into smaller chunks, allowing administrators to set a maximum message size and preventing false member expulsions caused by large payloads.
MySQL 8.0.16 has been released and, as usual, it enhances the Group Replication feature.
This article introduces the new functionality brought by MySQL 8.0.16 to Group Replication: Message fragmentation.
Background – Group Replication currently uses XCom, a single‑threaded group communication engine that guarantees atomicity and member‑state detection. Each member forwards messages to its local XCom instance, which then delivers them to all other members in the same order. When a member broadcasts a very large message, the XCom thread spends a long time processing it; if the thread is busy for too long, the member may be mistakenly considered failed and expelled from the group.
MySQL 8.0.13 introduced the system variable group_replication_member_expel_timeout , allowing administrators to adjust the timeout before a member is expelled, providing a trade‑off between quick failure detection and allowing busy members to finish processing large messages.
Message fragmentation – MySQL 8.0.16 adds a feature that automatically fragments oversized messages. Administrators can set a maximum allowed size with the variable group_replication_communication_max_message_size (default 10 MiB). Messages larger than this limit are split into smaller chunks before being sent.
Example – When a green member broadcasts a message that exceeds the configured limit, the following steps occur:
If the message size exceeds group_replication_communication_max_message_size , the member divides the message into chunks not larger than the limit.
Each chunk is broadcast to the group via XCom as an independent fragment.
XCom delivers the fragments to all members.
Receiving members recognize each fragment as part of a larger message and buffer them.
Once all fragments are received, the members reassemble the original message and process it.
The article includes diagrams (Figures 1, 2a‑2c) illustrating the fragmentation and reassembly process.
Conclusion – After the release of MySQL 8.0.16, Group Replication can enforce a user‑defined maximum message size, preventing the group from mistakenly expelling members due to oversized messages.
Reference: https://mysqlhighavailability.com/enhanced-support-for-large-transactions-in-group-replication/
Aikesheng Open Source Community
The Aikesheng Open Source Community provides stable, enterprise‑grade MySQL open‑source tools and services, releases a premium open‑source component each year (1024), and continuously operates and maintains them.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.