Just before Christmas, I was working with a client that needed to
insert more than a billion rows into a NDB table. The cluster was
big,
14 nodes, and after a few hundred millions rows, we got the
following error:
2008-12-09 18:28:52 [ndbd] INFO --
dbacc/DbaccMain.cpp
2008-12-09 18:28:52 [ndbd] INFO -- DBACC
(Line: 5274) 0x0000000e
2008-12-09 18:28:52 [ndbd] INFO -- Error
handler shutting down system
2008-12-09 18:28:53 [ndbd] INFO -- Error
handler shutdown completed - exiting
2008-12-09 18:28:56 [ndbd] ALERT -- Node 10:
Forced node shutdown completed. Caused by error 2304: 'Array
index out of range(Internal error, programming error or missing
error message,
which looks like a bug in the NDB kernel. In fact, it is
not really a bug. This error is the …
I was recently involved with a client that has to deal with a very large dataset in MySQL NDB cluster. The schema was very simple, a few (one or two) key columns and a large varbinary column. The cluster was large with 14 data nodes having each close to 60 GB devoted to DataMemory (DM) for a total combine size of
The main problem we had with the cluster during this engagement was the lack of disk space and the main cause of this, was the Redo log files. The cluster has been configured according to Johan best practices of 6xDM (http://johanandersson.blogspot.com/2008/04/great-configini.htm) forFragmentLogFileSize and NoOfFragmentLogFiles and, adding the 2 Local CheckPoint (LCP), this mean 8xDM or 480 GB, hard to fit on a pair or 146 GB drives. The purpose for 6xDM is to make sure write transaction are never rejected by the cluster because of a lack of redo log space. The redo log space basically …
[Read more]