Bug #19894 Data nodes fail during loading data if NoOfFragmentLogFiles = 1
Submitted: 17 May 2006 20:01 Modified: 3 Jul 2006 16:44
Reporter: Serge Kozlov Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Cluster: Cluster (NDB) storage engine Severity:S2 (Serious)
Version:4.1,5.0,5.1 OS:Linux (Linux FC4)
Assigned to: Stewart Smith CPU Architecture:Any

[17 May 2006 20:01] Serge Kozlov
Description:

If NoOfFragmentLogFiles contains minimal value (a) and an application tries to load a lot of data (in my case is 1M records) then data nodes fail instead using of error 410 (Out of log file space temporarily) and print this message:

Current byte-offset of file-pointer is: 568

Time: Wednesday 17 May 2006 - 21:31:08
Status: Temporary error, restart node
Message: Internal program error (failed ndbrequire) (Internal error, programming
 error or missing error message, please report a bug)
Error: 2341
Error data:
Error object: DBLQH (Line: 12429) 0x0000000e
Program: /home/ndbdev/skozlov/builds/libexec/ndbd
Pid: 32449
Trace: /space/run/ndb_2_trace.log.1
Version: Version 5.1.10 (beta)
***EOM***

How to repeat:
1. Create config.ini like that:
[ndbd default]
NoOfReplicas: 2
IndexMemory: 500M
DataMemory:1G
DataDir: /space/run
FileSystemPath: /space/run
NoOfFragmentLogFiles: 1 # our tested variable

[mgm default]
ArbitrationRank: 1
DataDir: /space/run

[ndb_mgmd]
Id: 1
HostName: ndb16

[ndbd]
Id: 2
HostName: ndb16

[ndbd]
Id: 3
HostName: ndb16

[mysqld]
Id: 15
HostName: ndb16

2. Start a cluster

3. Modify load_tpcb.pl so:
our $accounts = 1000000;
This modification increases amount of loading data.

4. Run ./load_tpcb ndb16 3306 root BLANK ndb

5. Wait until following error will appear:
Loading accounts table -- Please wait
DBD::mysql::st execute failed: Got temporary error 4010 'Node failure caused abo
rt of transaction' from NDBCLUSTER at ./load_tpcb.pl line 400.
insert into account Error: Got temporary error 4010 'Node failure caused abort o
f transaction' from NDBCLUSTER at ./load_tpcb.pl line 400.

6. Now both data nodes are down. Look at error_log.
[18 May 2006 14:06] Serge Kozlov
trace, log files and config.ini

Attachment: bug19894.tar.gz (application/gzip, text), 151.45 KiB.

[22 May 2006 19:42] Jonas Oreland
I think 3 is the least value that is *really* supported.
If this is the case we should probably fix this...therefore 59
[27 Jun 2006 8:02] Stewart Smith
Cannot repeat in 4.1.21 bk
[27 Jun 2006 8:54] 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/8298
[27 Jun 2006 8:56] Stewart Smith
Also cannot repeat in 5.0.23bk

however, jonas strongly beleives that the real minimum is 3.

this is very timing dependent, so not surprising unable to reproduce.

jonas approved
[28 Jun 2006 11:53] 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/8397
[28 Jun 2006 12:36] Stewart Smith
pushed to team trees 4.1, 5.0 and 5.1
[29 Jun 2006 9:54] Tomas Ulin
pushed to 5.1.12
[29 Jun 2006 12:32] Stewart Smith
Pushed to 4.1.21, 5.0.23 and 5.1.12
[3 Jul 2006 16:44] Jon Stephens
Documented bugfix in 4.1.21/5.0.23/5.1.12 chenglogs. Closed.