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 @@
NDB 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 BACKUP Block
- BACKUP
+
+ 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 CMVMI Block
- CMVMI
+
+ 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 DBACC Block
- DBACC
+
+ 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 DBDICT Block
- DBDICT
+
+ 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 DBDIH Block
- DBLIH
+
+ 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.
-
+
-
-
+
-
-
+ DBLQH Block
- 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:
-
- 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 DBTC Block
- DBTC
+
+ 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 DBTUP 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
+
+
- DBTUP
+
+
+ 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
-
-
+ DBTUX 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
+
+
- DBTUX
+
+
+ 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 DBUTIL 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
+
+
- DBUTIL
+
+
+ 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 LGMAN 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
+
+
- NDBCNTR
+
+
-
- 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
-
-
+ NDBCNTR 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
+
+
- NDBFS
+
+
-
- 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 NDBFS 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
+
+
- QMGR
+
+
-
- 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 PGMAN 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
+
+
- RESTORE
+
+
-
- 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 QMGR Block
- SUMA
+
+ 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.
+
-
-
+
-
-
+
- TRIX
+ The RESTORE 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 SUMA 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 TSMAN 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 TRIX 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.