From: jon Date: June 8 2007 6:19pm Subject: svn commit - mysqldoc@docsrva: r6732 - trunk/ndbapi List-Archive: http://lists.mysql.com/commits/28430 Message-Id: <200706081819.l58IJn6m013868@docsrva.mysql.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Author: jstephens Date: 2007-06-08 20:19:48 +0200 (Fri, 08 Jun 2007) New Revision: 6732 Log: New additions to Kernel Blocks section (Thanks, Jeb!) Modified: trunk/ndbapi/ndb-internals.xml Modified: trunk/ndbapi/ndb-internals.xml =================================================================== --- trunk/ndbapi/ndb-internals.xml 2007-06-08 17:45:33 UTC (rev 6731) +++ trunk/ndbapi/ndb-internals.xml 2007-06-08 18:19:48 UTC (rev 6732) Changed blocks: 3, Lines Added: 927, Lines Deleted: 889; 57045 bytes @@ -8450,17 +8450,13 @@ <literal>NDB</literal> Kernel Blocks - This section lists and describes the major kernel blocks found in - the NDB source code, under the directory + The following sections list and describe the major kernel blocks + found in the NDB source code. These are found + under the directory storage/ndb/src/kernel/blocks/. - [js] Using an itemizedlist for now, may want to promote list items - to (sub)sections as more information is added? - - - [js] I've omitted makefiles and SCCS subdirectories from the kernel block file listings. @@ -8475,1122 +8471,1164 @@ the code in each one and what it does. - +
- - + The <literal>BACKUP</literal> Block - <literal>BACKUP</literal> + + This block is responsible for handling online backups and + checkpoints. It is found in + storage/ndb/src/kernel/blocks/backup/, and + contains the following files: - - This block is responsible for handling online backups and - checkpoints. It is found in - storage/ndb/src/kernel/blocks/backup/, - and contains the following files: + - + + + Backup.cpp + + - - - Backup.cpp - - + + + BackupFormat.hpp + + - - - BackupFormat.hpp - - + + + Backup.hpp + + - - - Backup.hpp - - + + + BackupInit.cpp + + - - - BackupInit.cpp - - + + + Backup.txt + + - - - Backup.txt - - + + + FsBuffer.hpp + + - - - FsBuffer.hpp - - + + + read.cpp + + - - - read.cpp - - + + - - +
- - +
- - + The <literal>CMVMI</literal> Block - <literal>CMVMI</literal> + + This block is responsible for configuration management between + the kernel blocks and the NDB virtual + machine, as well as the cluster job que and cluster + transporters. It is found in + storage/ndb/src/kernel/blocks/cmvmi, and + contains these files: - - This block is responsible for configuration management - between the kernel blocks and the NDB - virtual machine. It is found in - storage/ndb/src/kernel/blocks/cmvmi, - and contains these files: + - + + + Cmvmi.cpp + + - - - Cmvmi.cpp - - + + + Cmvmi.hpp + + - - - Cmvmi.hpp - - + + - - +
- - +
- - + The <literal>DBACC</literal> Block - <literal>DBACC</literal> + + This is the access control and lock management module, found in + storage/ndb/src/kernel/blocks/dbacc. It + contains the following files: - - This is the access control and lock management module, found - in storage/ndb/src/kernel/blocks/dbacc. - It contains the following files: + - + + + Dbacc.hpp + + - - - Dbacc.hpp - - + + + DbaccInit.cpp + + - - - DbaccInit.cpp - - + + + DbaccMain.cpp + + - - - DbaccMain.cpp - - + + - - +
- - +
- - + The <literal>DBDICT</literal> Block - <literal>DBDICT</literal> + + This block, the data dictionary block, is found in + storage/ndb/src/kernel/blocks/dbdict. It is + responsible for managing metadata via the cluster's master node + such as table and index definitions, as well as many Disk Data + operations. This block contains the following files: - - This block, the data dictionary block, is found in - storage/ndb/src/kernel/blocks/dbdict. - It is responsible for managing metadata such as table and - index definitions, as well as many Disk Data operations. - This block contains the following files: + - + + + CreateIndex.txt + + - - - CreateIndex.txt - - + + + Dbdict.cpp + + - - - Dbdict.cpp - - + + + DictLock.txt + + - - - DictLock.txt - - + + + printSchemaFile.cpp + + - - - printSchemaFile.cpp - - + + + Slave_AddTable.sfl + + - - - Slave_AddTable.sfl - - + + + CreateTable.new.txt + + - - - CreateTable.new.txt - - + + + Dbdict.hpp + + - - - Dbdict.hpp - - + + + DropTable.txt + + - - - DropTable.txt - - + + + CreateTable.txt + + - - - CreateTable.txt - - + + + Dbdict.txt + + - - - Dbdict.txt - - + + + Event.txt + + - - - Event.txt - - + + + Master_AddTable.sfl + + - - - Master_AddTable.sfl - - + + + SchemaFile.hpp + + - - - SchemaFile.hpp - - + + - - +
- - +
- - + The <literal>DBDIH</literal> Block - <literal>DBLIH</literal> + + This block provides data distribution (partitioning) management + services. It is responsible for maintaining data fragments and + replicas, handling of local and global checkpoints; it also + manages node and system restarts. It contains the following + files, all found in the directory + storage/ndb/src/kernel/blocks/dbdih: - - This block provides data distribution management services. - It is responsible for maintaining data fragments and - replicas, handling of local and global checkpoints, and - manages system restarts. It contains the following files, - all found in the directory - storage/ndb/src/kernel/blocks/dbdih: + - + + + Dbdih.hpp + + - - - Dbdih.hpp - - + + + DbdihMain.cpp + + - - - DbdihMain.cpp - - + + + printSysfile/printSysfile.cpp + + - - - printSysfile/printSysfile.cpp - - + + + DbdihInit.cpp + + - - - DbdihInit.cpp - - + + + LCP.txt + + - - - LCP.txt - - + + + printSysfile.cpp + + - - - printSysfile.cpp - - + + + Sysfile.hpp + + - - - Sysfile.hpp - - + - + This block often makes use of BACKUP blocks + on the data nodes to accomplish distributed tasks, such as + global checkpoints and system restarts. + - This block often makes use of BACKUP - blocks on the data nodes to accomplish distributed tasks, - such as global checkpoints and system restarts. - +
- - +
- - + <literal>DBLQH</literal> Block - <literal>DBLQH</literal> + + This is the local, low-level query handler block, which manages + data and transactions local to the cluster's data nodes. It is + made up of the following files, found in + storage/ndb/src/kernel/blocks/dblqh: - - This is the local, low-level query handler block, which - manages data and transactions local to the cluster's data - nodes. It is made up of the following files, found in - storage/ndb/src/kernel/blocks/dblqh: + - + + + Dblqh.hpp + + - - - Dblqh.hpp - - + + + DblqhInit.cpp + + - - - DblqhInit.cpp - - + + + DblqhMain.cpp + + - - - DblqhMain.cpp - - + + + redoLogReader/records.cpp + + - - - redoLogReader/records.cpp - - + + + redoLogReader/records.hpp + + - - - redoLogReader/records.hpp - - + + + redoLogReader/redoLogFileReader.cpp + + - - - redoLogReader/redoLogFileReader.cpp - - + - + This block also handles redo logging, and helps oversee the + DBACC, DBTUP, + LGMAN, TSMAN, + PGMAN, and BACKUP blocks. + - This block also handles redo logging. - +
- - +
- - + The <literal>DBTC</literal> Block - <literal>DBTC</literal> + + This is the transaction coordinator block, which handles + distributed transactions and other data operations on a global + level (as opposed to DBLQH which deals with + such issues on individual data nodes). In the source code, it is + located in the directory + storage/ndb/src/kernel/blocks/dbtc, which + contains these files: + + + + + Dbtc.hpp + + + + + + DbtcInit.cpp + + + + + + DbtcMain.cpp + + + + + + - This is the transaction coordinator block, which handles - distributed transactions and other data operations on a - global level (as opposed to DBLQH which - deals with such issues on individual data nodes). In the - source code, it is located in the directory - storage/ndb/src/kernel/blocks/dbtc, - which contains these files: + Any data may act as the transaction coordinator. + + + - + + This block also handles unique indexes, which must co-ordinated + across all data nodes simultaneously. + - - - Dbtc.hpp - - +
- - - DbtcInit.cpp - - +
- - - DbtcMain.cpp - - + The <literal>DBTUP</literal> Block - + + This is the tuple manager, which manages the physical storage of + cluster data. It consists of the the following files found in + the directory + storage/ndb/src/kernel/blocks/dbtup: - This block also handles unique indexes, which must - co-ordinated across all data nodes simultaneously. - + - - + + + AttributeOffset.hpp + + - - + + + DbtupDiskAlloc.cpp + + - <literal>DBTUP</literal> + + + DbtupIndex.cpp + + - - This is the tuple manager, which manages the physical - storage of cluster data. It consists of the the following - files found in the directory - storage/ndb/src/kernel/blocks/dbtup: + + + DbtupScan.cpp + + - + + + tuppage.cpp + + - - - AttributeOffset.hpp - - + + + DbtupAbort.cpp + + - - - DbtupDiskAlloc.cpp - - + + + DbtupExecQuery.cpp + + - - - DbtupIndex.cpp - - + + + DbtupMeta.cpp + + - - - DbtupScan.cpp - - + + + DbtupStoredProcDef.cpp + + - - - tuppage.cpp - - + + + tuppage.hpp + + - - - DbtupAbort.cpp - - + + + DbtupBuffer.cpp + + - - - DbtupExecQuery.cpp - - + + + DbtupFixAlloc.cpp + + - - - DbtupMeta.cpp - - + + + DbtupPageMap.cpp + + - - - DbtupStoredProcDef.cpp - - + + + DbtupTabDesMan.cpp + + - - - tuppage.hpp - - + + + Notes.txt + + - - - DbtupBuffer.cpp - - + + + Undo_buffer.cpp + + - - - DbtupFixAlloc.cpp - - + + + DbtupCommit.cpp + + - - - DbtupPageMap.cpp - - + + + DbtupGen.cpp + + - - - DbtupTabDesMan.cpp - - + + + DbtupPagMan.cpp + + - - - Notes.txt - - + + + DbtupTrigger.cpp + + - - - Undo_buffer.cpp - - + + + Undo_buffer.hpp + + - - - DbtupCommit.cpp - - + + + DbtupDebug.cpp + + - - - DbtupGen.cpp - - + + + Dbtup.hpp + + - - - DbtupPagMan.cpp - - + + + DbtupRoutines.cpp + + - - - DbtupTrigger.cpp - - + + + DbtupVarAlloc.cpp + + - - - Undo_buffer.hpp - - + + + test_varpage.cpp + + - - - DbtupDebug.cpp - - + - - - Dbtup.hpp - - + This block also monitors changes in tuples. + - - - DbtupRoutines.cpp - - +
- - - DbtupVarAlloc.cpp - - +
- - - test_varpage.cpp - - + <literal>DBTUX</literal> Block - + + This kernel block handles the local management of ordered + indexes. It consists of the the following files found in the + storage/ndb/src/kernel/blocks/dbtux + directory: - This block also monitors changes in tuples. - + - - + + + DbtuxCmp.cpp + + - - + + + DbtuxGen.cpp + + - <literal>DBTUX</literal> + + + DbtuxMaint.cpp + + - - This kernel block handles the local management of ordered - indexes. It consists of the the following files found in the - storage/ndb/src/kernel/blocks/dbtux - directory: + + + DbtuxNode.cpp + + - + + + DbtuxSearch.cpp + + - - - DbtuxCmp.cpp - - + + + DbtuxTree.cpp + + - - - DbtuxGen.cpp - - + + + Times.txt + + - - - DbtuxMaint.cpp - - + + + DbtuxDebug.cpp + + - - - DbtuxNode.cpp - - + + + Dbtux.hpp + + - - - DbtuxSearch.cpp - - + + + DbtuxMeta.cpp + + - - - DbtuxTree.cpp - - + + + DbtuxScan.cpp + + - - - Times.txt - - + + + DbtuxStat.cpp + + - - - DbtuxDebug.cpp - - + + + tuxstatus.html + + - - - Dbtux.hpp - - + + - - - DbtuxMeta.cpp - - +
- - - DbtuxScan.cpp - - +
- - - DbtuxStat.cpp - - + The <literal>DBUTIL</literal> Block - - - tuxstatus.html - - + + This block provides internal interfaces to transaction and data + operations, performing essential operations on signals passed + between nodes. It is also used in building online indexes, and + is found in + storage/ndb/src/kernel/blocks/dbutil, which + includes these files: - - + - - + + + DbUtil.cpp + + - - + + + DbUtil.hpp + + - <literal>DBUTIL</literal> + + + DbUtil.txt + + - - This block provides internal interfaces to transaction and - data operations. It is found in - storage/ndb/src/kernel/blocks/dbutil, - and includes these files: + - + Among the duties performed by this block is the maintenance of + sequences for backup IDs and other distributed identifiers. + - - - DbUtil.cpp - - +
- - - DbUtil.hpp - - +
- - - DbUtil.txt - - + The <literal>LGMAN</literal> Block - + + This block is responsible for handling the undo logs for Disk + Data tables. It consists of these files in the + storage/ndb/src/kernel/blocks directory: - Among the duties performed by this block is the maintenance - of sequences for backup IDs and other distributed - identifiers. - + - - + + + lgman.cpp + + - - + + + lgman.hpp + + - <literal>NDBCNTR</literal> + + - - This is a cluster management block that handles block - initialisation and configuration. It is located in - storage/ndb/src/kernel/blocks/ndbcntr, - and contains these files: +
- +
- - - Ndbcntr.hpp - - + <literal>NDBCNTR</literal> Block - - - NdbcntrInit.cpp - - + + This is a cluster management block that handles block + initialisation and configuration. During the data node startup + process, it takes over from the QMGR block + and continues the process. It also assist with graceful + (planned) shutdowns of data nodes. Ths block is located in + storage/ndb/src/kernel/blocks/ndbcntr, and + contains these files: - - - NdbcntrMain.cpp - - + - - - NdbcntrSysTable.cpp - - + + + Ndbcntr.hpp + + - - + + + NdbcntrInit.cpp + + - - + + + NdbcntrMain.cpp + + - - + + + NdbcntrSysTable.cpp + + - <literal>NDBFS</literal> + + - - This block provides the NDB filesystem - abstraction layer, and is located in the directory - storage/ndb/src/kernel/blocks/ndbfs, - which contains the following files: +
- +
- - - AsyncFile.cpp - - + The <literal>NDBFS</literal> Block - - - CircularIndex.cpp - - + + This block provides the NDB filesystem + abstraction layer, and is located in the directory + storage/ndb/src/kernel/blocks/ndbfs, which + contains the following files: - - - Filename.hpp - - + - - - MemoryChannelTest/MemoryChannelTest.cpp - - + + + AsyncFile.cpp + + - - - OpenFiles.hpp - - + + + CircularIndex.cpp + + - - - VoidFs.cpp - - + + + Filename.hpp + + - - - AsyncFile.hpp - - + + + MemoryChannelTest/MemoryChannelTest.cpp + + - - - CircularIndex.hpp - - + + + OpenFiles.hpp + + - - - MemoryChannel.cpp - - + + + VoidFs.cpp + + - - - Ndbfs.cpp - - + + + AsyncFile.hpp + + - - - Pool.hpp - - + + + CircularIndex.hpp + + - - - AsyncFileTest/AsyncFileTest.cpp - - + + + MemoryChannel.cpp + + - - - Filename.cpp - - + + + Ndbfs.cpp + + - - - MemoryChannel.hpp - - + + + Pool.hpp + + - - - Ndbfs.hpp - - + + + AsyncFileTest/AsyncFileTest.cpp + + - - + + + Filename.cpp + + - - + + + MemoryChannel.hpp + + - - + + + Ndbfs.hpp + + - <literal>QMGR</literal> + + - - This is the logical cluster management block, and handles - node membership in the cluster via heartbeats. It contains - the following files, found in - storage/ndb/src/kernel/blocks/qmgr: +
- +
- - - Qmgr.hpp - - + The <literal>PGMAN</literal> Block - - - QmgrInit.cpp - - + + This block provides page and buffer management services for Disk + Data tables. It includes these files: - - - QmgrMain.cpp - - + - - - timer.hpp - - + + + diskpage.cpp + + - - + + + diskpage.hpp + + - - + + + pgman.cpp + + - - + + + pgman.hpp + + - <literal>RESTORE</literal> + + - - This block consists of the files - restore.cpp and - restore.hpp, in the - storage/ndb/src/kernel/blocks - directory. It handles restoration of the cluster from online - backups. - +
- - +
- - + The <literal>QMGR</literal> Block - <literal>SUMA</literal> + + This is the logical cluster management block, and handles node + membership in the cluster via heartbeats. + QMGR is responsible for polling the data + nodes when a data node failure occurs and determining that the + node has actually failed and should be dropped from the cluster. + This block contains the following files, found in + storage/ndb/src/kernel/blocks/qmgr: - - The cluster subscription manager, which handles event - logging and reporting functions. It consists of the - following files, found in the directory - storage/ndb/src/kernel/blocks/suma/: + - + + + Qmgr.hpp + + - - - Suma.cpp - - + + + QmgrInit.cpp + + - - - Suma.hpp - - + + + QmgrMain.cpp + + - - - SumaInit.cpp - - + + + timer.hpp + + - - - Suma.txt - - + - - + This block also assists in the early phases of data node + startup. + - - +
- - +
- <literal>TRIX</literal> + The <literal>RESTORE</literal> Block - - This kernel block is responsible for the building of unique - indexes. It is found in the directory - storage/ndb/src/kernel/blocks/trix, and - includes these files: + + This block consists of the files + restore.cpp and + restore.hpp, in the + storage/ndb/src/kernel/blocks directory. It + handles restoration of the cluster from online backups. + - +
- - - Trix.cpp - - +
- - - Trix.hpp - - + The <literal>SUMA</literal> Block - - + + The cluster subscription manager, which handles event logging + and reporting functions. It also figures prominently in MySQL + CLuster Replication. SUMA consists of the + following files, found in the directory + storage/ndb/src/kernel/blocks/suma/: - - + - + + + Suma.cpp + + - - In addition, the following files are found in the - storage/ndb/src/kernel/blocks directory: + + + Suma.hpp + + - + + + SumaInit.cpp + + - - - diskpage.cpp - - + + + Suma.txt + + - - - pgman.cpp - - + + - - - SystemRestart.new.txt - - +
- - - diskpage.hpp - - +
- - - pgman.hpp - - + The <literal>TSMAN</literal> Block - - - SystemRestart.txt - - + + This is the tablespace manager block for Disk Data tables, and + includes the following files from + storage/ndb/src/kernel/blocks: - - - ERROR_codes.txt - - + - - - NodeRestart.new.txt - - + + + tsman.cpp + + - - - print_file.cpp - - + + + tsman.hpp + + - - - mutexes.hpp - - + + - - - NodeRestart.txt - - +
- - - Start.txt - - +
- - - lgman.cpp - - + The <literal>TRIX</literal> Block - - - lgman.hpp - - + + This kernel block is responsible for the building of unique + indexes. This block, like DBUTIL, is a + utility block containing many helper functions for building + indexes and handling signlas betweens nodes. It is found in the + directory + storage/ndb/src/kernel/blocks/trix, and + includes these files: - - - OptNR.txt - - + - - - record_types.hpp - - + + + Trix.cpp + + - - - tsman.cpp - - + + + Trix.hpp + + - - - tsman.hpp - - + + - - +
+
+ + Miscellaneous + + + In addition, the following files are found in the + storage/ndb/src/kernel/blocks directory: + + + + + + SystemRestart.new.txt + + + + + + SystemRestart.txt + + + + + + ERROR_codes.txt + + + + + + NodeRestart.new.txt + + + + + + print_file.cpp + + + + + + mutexes.hpp + + + + + + NodeRestart.txt + + + + + + Start.txt + + + + + + OptNR.txt + + + + + + record_types.hpp + + + + + + +
+
@@ -9632,7 +9670,7 @@ - DIstribution + DIstribution Handler.