While working with MySQL Cluster, i was looking for a monitoring framework for the cluster.
i came across a library @ https://launchpad.net/ndb-bindings – which had java and other connectors to NDB, the library was a wrapper of the existing C++ NDB Api.
This library allowed me to connect to the management node , get the state of the cluster and get real time notifications about heartbeat misses/node disconnections.
The library error-ed out on some conditions, with a small fix, it can work with MySQL Cluster 7.3.
I have listed down steps for compilation and running a sample program at github
recently while working on MySQL cluster 7.3.5, we came across this error
Forced node shutdown completed. Caused by error 2341: 'Internal program error (failed ndbrequire)(Internal error, programming error or missing error message, please report a bug). Temporary error, restart node'.
The management nodes would start up but
the data nodes would complete phase 1 & shutdown, some times at phase 2 and some times at phase 5.
The error one would see in the trace file would be as follows:
Status: Temporary error, restart node
Message: Internal program error (failed ndbrequire) (Internal error, programming error or missing error message, please report a bug)
Error data: CREATE_TABLE_REF
Error object: NDBCNTR (Line: 2493) 0x00000003
How did we resolve it ?
First, few of our data nodes had an incorrect connect-string
Second, we had pre-assigned NodeGroups for the data nodes in the config.ini, and had started our node groups with serial number 1.
Apparently, NDB likes to start up with serial number 0 onwards, so we changed to
and walaa our cluster started up.
Thanks to Frank, for giving the work around (here).