Bug #35338 Big multi_range_read may overload TC block
Submitted: 17 Mar 2008 14:06 Modified: 2 Jul 2008 18:43
Reporter: Kristian Nielsen Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Cluster: Cluster (NDB) storage engine Severity:S3 (Non-critical)
Version:mysql-6.0 OS:Any
Assigned to: Tomas Ulin CPU Architecture:Any

[17 Mar 2008 14:06] Kristian Nielsen
Description:
In the NDB multi_range_read implementation, there is no limit to the amount of
KEYINFO data that may be sent in a single ordered index scan operation.

Thus for big multi range reads, the amount of KEYINFO may be really huge and
potentially overload the TC block in the kernel.

How to repeat:
No actual failure observed, but seen from source inspection.

Suggested fix:
Will produce patch for review.
[17 Mar 2008 14:14] Kristian Nielsen
Quilt patch series for bugfix

Attachment: bug35338-quilt.tar.gz (application/x-gzip, text), 15.68 KiB.

[18 Mar 2008 9:06] Kristian Nielsen
Second attempt at patch following review comments

Attachment: bug35338-quilt.tar.gz (application/x-gzip, text), 15.49 KiB.

[18 Mar 2008 14:40] Kristian Nielsen
Third patch, this time with test case.

Attachment: bug35338-quilt.tar.gz (application/x-gzip, text), 16.50 KiB.

[19 Mar 2008 11:11] Kristian Nielsen
Approved patchset, with a few fixes.

Attachment: bug35338-quilt.tar.gz (application/x-gzip, text), 16.61 KiB.

[19 Mar 2008 11:17] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/44216

ChangeSet@1.2550, 2008-03-19 12:15:48+01:00, knielsen@ymer.(none) +6 -0
  BUG#35338: Big multi_range_read may overload TC block
  
  The MRR code had no limit on the amount of KEYINFO data sent to the TC
  block on data nodes in a single scan.
  
  This could cause large MRR scans to hang.
  
  Solution is to split the MRR scan at appropriate intervals.
  
  Also clean up the split logic and MRR buffer management somewhat to
  facilitate easier fix.
[19 Mar 2008 12:48] Kristian Nielsen
Pushed to mysql-6.0-ndb and mysql-6.0-ndb-BKA.

New testcase causes a node failure in mysql-6.0-telco, may be triggering an existing bug. Will investigate and push later.

Still need to determine whether to fix this in mysql-5.1 and/or mysql-5.1-telco-*
[31 May 2008 10:43] Jon Stephens
Can you (or somebody) have a look at this and tell me whether this actually made it into release(s)?

Thanks!
[2 Jul 2008 18:43] Jon Stephens
Closed per comment above from Tomas.
[12 Dec 2008 23:27] Bugs System
Pushed into 6.0.6-alpha  (revid:sp1r-knielsen@ymer.(none)-20080319111548-52273) (version source revid:sp1r-tomas@poseidon.ndb.mysql.com-20080516085603-30848) (pib:5)