Bug #73843 | Enhanced detection and dump of corrupt or unsupported messages | ||
---|---|---|---|
Submitted: | 8 Sep 2014 23:48 | Modified: | 14 Oct 2014 13:43 |
Reporter: | Mauritz Sundell | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Cluster: Cluster (NDB) storage engine | Severity: | S4 (Feature request) |
Version: | 7.1 | OS: | Any |
Assigned to: | CPU Architecture: | Any |
[8 Sep 2014 23:48]
Mauritz Sundell
[14 Oct 2014 13:43]
Jon Stephens
Thank you for your bug report. This issue has been committed to our source repository of that product and will be incorporated into the next release. Documented as follows in the NDB 7.1.34, 7.2.19, 7.3.8, and 7.4.2 changelogs: Corrupted messages to data nodes sometimes went undetected, causing a bad signal to be delivered to a block which aborted the data node. This failure in combination with disconnecting nodes could in turn cause the entire cluster to shut down. To keep this from happening, additional checks are now made when unpacking signals received over TCP, including checks for byte order, compression flag (which must not be used), and the length of the next message in the receive buffer (if there is one). Whenever two consecutive unpacked messages fail the checks just described, the current message is assumed to be corrupted. In this case, the transporter is marked as having bad data and no more unpacking of messages occurs until the transporter is reconnected. In addition, an entry is written to the cluster log containing the error as well as a hex dump of the corrupted message. Closed. If necessary, you can access the source repository and build the latest available version, including the bug fix. More information about accessing the source trees is available at http://dev.mysql.com/doc/en/installing-source.html