Bug #5014 Illegal upgrade from 1-node to 2-node cluster, should be detected
Submitted: 12 Aug 2004 10:05 Modified: 24 Aug 2004 12:08
Reporter: Magnus Blåudd Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Cluster: Cluster (NDB) storage engine Severity:S2 (Serious)
Version:mysql-4.1 OS:
Assigned to: Jonas Oreland CPU Architecture:Any

[12 Aug 2004 10:05] Magnus Blåudd
Description:
It's possible to try to "upgrade" a 1-node system to a 2-node system by changing the config and starting a second ndbd.

This always end up with a crash in DBDIH.

How to repeat:

folks,

another problem:

NDB> ALL STATUS
Node 2: Started (Version 3.5.0)

Node 3: No contact

NDB>

I try to start node 3 with env set to

NDB_CONNECTSTRING=nodeid=3;host=localhost:10000:

[mysql@damsdb ndb_data2]$  /usr/local/mysql/libexec/ndbd
2004-08-04 14:14:25 [NDB] INFO     -- Angel pid: 5515 ndb pid: 5517
2004-08-04 14:14:25 [NDB] INFO     -- NDB Cluster -- DB node 3
2004-08-04 14:14:25 [NDB] INFO     -- Version 3.5.0 (beta) --
2004-08-04 14:14:25 [NDB] INFO     -- Start initiated (version 3.5.0)
Error handler shutting down system
Error handler shutdown completed - exiting

my config.ini is:

[COMPUTER]
Id:1
HostName: localhost
ByteOrder: Little

[COMPUTER]
Id:2
HostName: localhost
ByteOrder: Little

[MGM]
Id:1
ExecuteOnComputer: 1
ArbitrationRank: 1
PortNumber: 10000
PortNumberStats: 10001

[DB DEFAULT]
NoOfReplicas: 2

[DB]
Id: 2
ExecuteOnComputer: 1
FileSystemPath: /home/mysql/ndb_data1

[DB]
Id: 3
ExecuteOnComputer: 2
FileSystemPath: /home/mysql/ndb_data2

[API DEFAULT]
ArbitrationRank: 1

[API]
Id: 4
ExecuteOnComputer: 1

[API]
Id: 5
ExecuteOnComputer: 2

[TCP DEFAULT]
PortNumber: 10002

the error log says:

Date/Time: Wednesday 4 August 2004 - 14:14:33
Type of error: error
Message: Internal program error (failed ndbrequire)
Fault ID: 2341
Problem data: DbdihMain.cpp
Object of reference: DBDIH (Line: 1080) 0x00000002
ProgramName: NDB Kernel
ProcessID: 5517
TraceFile: NDB_TraceFile_6.trace
***EOM***

trace file is avail here:

http://enki.viva.tv/mysql/NDB_TraceFile_6.trace

thanks for your support.

cheers,
 gowry.

Suggested fix:

The problem should be detected and a proper error message should be written in error.log telling the user to do initial system restart.

(Or this should  be allowed, i.e add node like functionality.)