Bug #19477 Node returns incorrect error if DataMemory value is less than data on disk
Submitted: 2 May 2006 11:52 Modified: 14 Nov 2006 5:10
Reporter: Serge Kozlov Email Updates:
Status: No Feedback Impact on me:
None 
Category:MySQL Cluster: Cluster (NDB) storage engine Severity:S2 (Serious)
Version:5.1.10 (beta) OS:Linux (Linux FC4)
Assigned to: Assigned Account CPU Architecture:Any

[2 May 2006 11:52] Serge Kozlov
Description:
Two ndbd nodes have different values of DataMemory (one has great value, another has small) and configuration uses 2 replicas. Stop ndb node with 'small DataMemory' and load data into cluster. And if size of loaded data larger than can support stopped node then this node can't start and returns following error:

Current byte-offset of file-pointer is: 568

Time: Tuesday 2 May 2006 - 13:32:04
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: restore.cpp
Error object: RESTORE (Line: 1150) 0x0000000a
Program: /home/ndbdev/skozlov/builds/libexec/ndbd
Pid: 24544
Trace: /space/run/ndb_3_trace.log.1
Version: Version 5.1.10 (beta)
***EOM***

How to repeat:
1. Create a configuration like that:

[ndbd default]
NoOfReplicas: 2
DataDir: /space/run
FileSystemPath: /space/run

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

[ndb_mgmd]
Id: 1
HostName: ndb16

[ndbd]
Id: 2
HostName: ndb16
DataMemory: 500M

[ndbd]
Id: 3
HostName: ndb16
DataMemory: 1M

[mysqld]
Id: 15
HostName: ndb16

2. Start cluster and then stop node 3 (it has small amount of DataMemory) through "N STOP"  command .
3. Run load_tpcb.pl ndb16 3306 root BLANK ndb. It will create tables and load data which require more memory than 1M (and less than 500M)
4. Try start node 3.
5. Look at ndb_3_error.log like posted in Description.