Description:
COMMITs takes long due to a variety of reasons in MySQL Cluster like following:
o A transaction is huge.
o Data nodes are too loaded.
o Disk I/O is too loaded.
o Network is too loaded.
In such case, GCP fails and it causes a data node to be down. This could not be preferable situation for most of users. Instead of crashing data nodes, IMHO, problematic transactions should be rolled back. If it is possible, data nodes will survive and an entire cluster will become more robust.
Thus, I suggest to add an option to limit time taken to commit. While ndbd makes use of two phase commit, theoretically it can rollback a transaction if an update phase takes long. This option is necessary because MySQL Cluster is a real-time system.
How to repeat:
n/a
Suggested fix:
Please add CommitTimeout option for ndb[mt]d's.