Bug #45918 CommitTimeout
Submitted: 2 Jul 2009 15:43 Modified: 24 Aug 2009 13:38
Reporter: Mikiya Okuno Email Updates:
Status: Verified Impact on me:
None 
Category:MySQL Cluster: Cluster (NDB) storage engine Severity:S4 (Feature request)
Version: OS:Any
Assigned to: CPU Architecture:Any

[2 Jul 2009 15:43] Mikiya Okuno
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.