Bug #48789 OverLoadLimit provides a case for easy overflow
Submitted: 16 Nov 2009 4:04 Modified: 3 Dec 2009 5:40
Reporter: Jonathon Coombes Email Updates:
Status: Verified Impact on me:
None 
Category:MySQL Cluster: Cluster (NDB) storage engine Severity:S3 (Non-critical)
Version:mysql-5.1-telco-6.3 OS:Any
Assigned to: Assigned Account CPU Architecture:Any
Tags: 6.4.0-7.0.4, cluster, ndb, sendbuffer

[16 Nov 2009 4:04] Jonathon Coombes
Description:
The OverLoadLimit option is a "safety net" for the tcp send buffer so that once the limit is exceeded, Cluster will generate buffer overload errors. Looking at the code it shows that OverLoadLimit, if not set explicitly, defaults to be defined as:

conf->tcp.sendBufferSize*4/5

Until 7.0.4, which sets the default SendBufferMemory to be 2M, the default is set at 256K. This means the default overload limit would default to be just over 200K.

This is no use as a default value when you are dealing with blobs in tables or high concurrency.

Even if TotalSendBufferMemory is set to a maximum of 4GB, either the OverLoadLimit and/or the SendBufferMemory has to be defined to avoid potential overload in these situations.

How to repeat:
Do not set OverLoadLimit or SendBufferMemory in the config.ini, but use defaults instead.

Use larger data sets with blobs and/or lots of signals.

Suggested fix:
OverLoadLimit has to be compared to both SendBufferMemory and TotalSendBufferMemory?
[6 Jul 2011 2:31] MySQL Verification Team
Hi Jonas,

When will this bug be addressed? A user is waiting for it.

Cheers,
Mikiya