Chapter 5. MySQL Cluster API Errors

Table of Contents

5.1. MGM API Errors
5.1.1. Request Errors
5.1.2. Node ID Allocation Errors
5.1.3. Service Errors
5.1.4. Backup Errors
5.1.5. Single User Mode Errors
5.1.6. General Usage Errors
5.2. NDB API Errors and Error Handling
5.2.1. Handling NDB API Errors
5.2.2. NDB Error Codes and Messages
5.2.3. NDB Error Classifications
5.3. ndbd Error Messages
5.3.1. ndbd Error Codes
5.3.2. ndbd Error Classifications
5.4. NDB Transporter Errors

Abstract

This chapter discusses reporting and handling of errors potentially generated in MySQL Cluster API applications. It includes information about error codes, classifications, and messages for the MGM API (see Section 3.3.3, “The ndb_mgm_error Type”) and NDB API (see Section 5.2, “NDB API Errors and Error Handling”). Also provided in this chapter is a listing of exit codes and messages returned by a failed ndbd process, in Section 5.2, “NDB API Errors and Error Handling”.

5.1. MGM API Errors

The following sections list the values of MGM errors by type. There are six types of MGM errors:

  1. request errors

  2. node ID allocation errors

  3. service errors

  4. backup errors

  5. single user mode errors

  6. general usage errors

There is only one general usage error.

5.1.1. Request Errors

These are errors generated by failures to connect to a management server.

ValueDescription
NDB_MGM_ILLEGAL_CONNECT_STRINGInvalid connectstring
NDB_MGM_ILLEGAL_SERVER_HANDLEInvalid management server handle
NDB_MGM_ILLEGAL_SERVER_REPLYInvalid response from management server
NDB_MGM_ILLEGAL_NUMBER_OF_NODESInvalid number of nodes
NDB_MGM_ILLEGAL_NODE_STATUSInvalid node status
NDB_MGM_OUT_OF_MEMORYMemory allocation error
NDB_MGM_SERVER_NOT_CONNECTEDManagement server not connected
NDB_MGM_COULD_NOT_CONNECT_TO_SOCKETNot able to connect to socket

5.1.2. Node ID Allocation Errors

These errors result from a failure to assign a node ID to a cluster node.

ValueDescription
NDB_MGM_ALLOCID_ERRORGeneric error; may be possible to retry and recover
NDB_MGM_ALLOCID_CONFIG_MISMATCHNon-recoverable generic error

5.1.3. Service Errors

These errors result from the failure of a node or cluster to start, shut down, or restart.

ValueDescription
NDB_MGM_START_FAILEDStartup failure
NDB_MGM_STOP_FAILEDShutdown failure
NDB_MGM_RESTART_FAILEDRestart failure

5.1.4. Backup Errors

These are errors which result from problems with initiating or aborting backups.

ValueDescription
NDB_MGM_COULD_NOT_START_BACKUPUnable to initiate backup
NDB_MGM_COULD_NOT_ABORT_BACKUPUnable to abort backup

5.1.5. Single User Mode Errors

These errors result from failures to enter or exit single user mode.

ValueDescription
NDB_MGM_COULD_NOT_ENTER_SINGLE_USER_MODEUnable to enter single-user mode
NDB_MGM_COULD_NOT_EXIT_SINGLE_USER_MODEUnable to exit single-user mode

5.1.6. General Usage Errors

This is a general error type for errors which are otherwise not classifiable.

ValueDescription
NDB_MGM_USAGE_ERRORGeneral usage error

5.2. NDB API Errors and Error Handling

Abstract

This section contains a discussion of error handling in NDB API applications as well as listing listings of the most common NDB error codes and messages, along with their classifications and likely causes for which they might be raised.

For information about the NdbError structure, which is used to convey error information to NDB API applications, see Section 2.3.31, “The NdbError Structure”.

Important

It is strongly recommended that you not depend on specific error codes in your NDB API applications, as they are subject to change over time. Instead, you should use the NdbError::Status and error classification in your source code, or consult the output of perror --ndb error_code to obtain information about a specific error code.

If you find a situation in which you need to use a specific error code in your application, please file a bug report at http://bugs.mysql.com/ so that we can update the corresponding status and classification.

5.2.1. Handling NDB API Errors

Abstract

This section describes how NDB API errors can be detected and mapped onto particular operations.

NDB API errors can be generated in either of two ways:

  • When an operation is defined

  • When an operation is executed

Errors raised during operation definition. Errors generated during operation definition result in a failure return code from the method called. The actual error can be determined by examining the relevant NdbOperation object, or the operation's NdbTransaction object.

Errors raised during operation execution. Errors occurring during operation execution cause the transaction of which they are a part to be aborted unless the AO_IgnoreError abort option is set for the operation.

Important

If you have worked with older versions of the NDB API, you should be aware that, beginning with MySQL Cluster NDB 6.2.0, the AbortOption type is a member of NdbOperation. See Section 2.3.15.1.1, “The NdbOperation::AbortOption Type”, for more information.

By default, read operations are run with AO_IgnoreError, and write operations are run with AbortOnError, but this can be overridden by the user. When an error during execution causes a transaction to be aborted, the execute() method returns a failure return code. If an error is ignored due to AO_IgnoreError being set on the operation, the execute() method returns a success code, and the user must examine all operations for failure using NdbOperation::getNdbError(). For this reason, the return value of getNdbError() should usually be checked, even if execute() returns success. If the client application does not keep track of NdbOperation objects during execution, then NdbTransaction::getNextCompletedOperation() can be used to iterate over them.

You should also be aware that use of NdbBlob can result in extra operations being added to the batches executed. This means that, when iterating over completed operations using getNextCompletedOperation(), you may encounter operations related to NdbBlob objects which were not defined by your application.

Note

A read whose LockMode is CommittedRead cannot be AbortOnError. In this case, it is always be IgnoreError.

In all cases where operation-specific errors arise, an execution error with an operation is marked against both the operation and the associated transaction object. Where there are multiple operation errors in a single NdbTransaction::execute() call, due to operation batching and the use of AO_IgnoreError, only the first is marked against the NdbTransaction object. The remaining errors are recorded against the corresponding NdbOperation objects only.

It is also possible for errors to occur during execution—such as a data node failure—which are marked against the transaction object, but not against the underlying operation objects. This is because these errors apply to the transaction as a whole, and not to individual operations within the transaction.

For this reason, applications should use NdbTransaction::getNdbError() as the first way to determine whether an NdbTransaction::execute() call failed. If the batch of operations being executed included operations with the AO_IgnoreError abort option set, then it is possible that there were multiple failures, and the completed operations should be checked individually for errors using NdbOperation::getNdbError().

Implicit NdbTransaction::execute() calls in scan and BLOB methods. Scan operations are executed in the same way as other operations, and also have implicit execute() calls within the NdbScanOperation::nextResult() method. When NdbScanOperation::nextResult() indicates failure (that is, if the method returns -1), the transaction object should be checked for an error. The NdbScanOperation may also contain the error, but only if the error is not operation-specific.

Some BLOB manipulation methods also have implicit internal execute() calls, and so can experience operation execution failures at these points. The following NdbBlob methods can generate implicit execute() calls; this means that they also require checks of the NdbTransaction object for errors via NdbTransaction::getNdbError() if they return an error code:

  • setNull()

  • truncate()

  • readData()

  • writeData()

Summary. In general, it is possible for an error to occur during execution (resulting in a failure return code) when calling any of the following methods:

  • NdbTransaction::execute()

  • NdbBlob::setNull()

  • NdbBlob::truncate()

  • NdbBlob::readData()

  • NdbBlob::writeData()

  • NdbScanOperation::nextResult()

    Note

    This method does not perform an implicit execute() call. The NdbBlob methods can cause other defined operations to be executed when these methods are called; however, nextResult() calls do not do so.

If this happens, the NdbTransaction::getNdbError() method should be called to identify the first error that occurred. When operations are batched, and there are IgnoreError operations in the batch, there may be multiple operations with errors in the transaction. These can be found by using NdbTransaction::getNextCompletedOperation() to iterate over the set of completed operations, calling NdbOperation::getNdbError() for each operation.

When IgnoreError has been set on any operations in a batch of operations to be executed, the NdbTransaction::execute() method indicates success even where errors have actually occurred, as long as none of these errors caused a transaction to be aborted. To determine whether there were any ignored errors, the transaction error status should be checked using NdbTransaction::getNdbError(). Only if this indicates success can you be certain that no errors occurred. If an error code is returned by this method, and operations were batched, then you should iterate over all completed operations to find all the operations with ignored errors.

Example (pseudocode). We begin by executing a transaction which may have batched operations and a mix of AO_IgnoreError and AbortOnError abort options:

int execResult= NdbTransaction.execute(args);
Note

For the number and permitted values of args, see Section 2.3.19.2.5, “NdbTransaction::execute().

Next, because errors on AO_IgnoreError operations do not affect execResult—that is, the value returned by execute()—we check for errors on the transaction:

NdbError err= NdbTransaction.getNdbError();

if (err.code != 0)
{
    

An nonzero value for the error code means that an error was raised on the transaction. This could be due to any of the following conditions:

  • A transaction-wide error, such as a data node failure, that caused the transaction to be aborted

  • A single operation-specific error, such as a constraint violation, that caused the transaction to be aborted

  • A single operation-specific ignored error, such as no data found, that did not cause the transaction to be aborted

  • The first of many operation-specific ignored errors, such as no data found when batching, that did not cause the transaction to be aborted

  • First of a number of operation-specific ignored errors such as no data found (when batching) before an aborting operation error (transaction aborted)

   if (execResult != 0)
   {
      

The transaction has been aborted. The recommended strategy for handling the error in this case is to test the transaction error status and take appropriate action based on its value:

      switch (err.status)
      {
        case value1:
          //  statement block handling value1 ...
        case value2:
          //  statement block handling value2 ...
          //  (etc. ...)
        case valueN:
          //  statement block handling valueN ...
      }

Since the transaction was aborted, it is generally necessary to iterate over the completed operations (if any) and find the errors raised by each only if you wish to do so for reporting purposes.

   }
   else
   {
      

The transaction itself was not aborted, but there must be one or more ignored errors. In this case, you should iterate over the operations to determine what happened and handle the cause accordingly.

   }
}

To handle a NdbScanOperation::nextResult() which returns -1, indicating that the operation failed (omitting cases where the operation was successful):

int nextrc= NdbScanOperation.nextResult(args);
      
Note

For the number and permitted values of args, see Section 2.3.18.2.2, “NdbScanOperation::nextResult().

if (nextrc == -1)
{

First, you should check the NdbScanOperation object for any errors:

  NdbError err= NdbScanOperation.getNdbError();

  if (err.code == 0)
  {
      

No error was found in the scan operation; the error must belong to the transaction as whole.

  }
    err= NdbTransaction.getNdbError();
      

Now you can handle the error based on the error status:

    switch (err.status)
    {
      case value1:
        //  statement block handling value1 ...
      case value2:
        //  statement block handling value2 ...
        //  (etc. ...)
      case valueN:
        //  statement block handling valueN ...
    }
}

For information about NDB API error classification and status codes, see Section 5.2.3, “NDB Error Classifications”. While you should not rely on a specific error code or message text in your NDB API applications—since error codes and messages are both subject to change over time—it can be useful to check error codes and messages to help determine why a particular failure occurred. For more information about these, see Section 5.2.2, “NDB Error Codes and Messages”. For more about NdbError and the types of information which can be obtained from NdbError objects, see Section 2.3.31, “The NdbError Structure”.

5.2.2. NDB Error Codes and Messages

This section contains a number of tables, one for each type of NDB API error. The error types include the following:

  • No error

  • Application error

  • Scan application error

  • Configuration or application error (currently unused)

  • No data found

  • Constraint violation

  • Schema error

  • User defined error

  • Insufficient space

  • Temporary Resource error

  • Node Recovery error

  • Overload error

  • Timeout expired

  • Node shutdown

  • Internal temporary

  • Unknown result error

  • Unknown error code (currently unused)

  • Internal error

  • Function not implemented

The information in each table includes, for each error:

Similar errors have been grouped together in each table.

Note

You can always obtain the latest error codes and information from the file storage/ndb/src/ndbapi/ndberror.c.

5.2.2.1. No error Messages

NDB Error CodeMySQL Error CodeNDB Error ClassificationError Message
00NENo error

5.2.2.2. Application error Messages

NDB Error CodeMySQL Error CodeNDB Error ClassificationError Message
281HA_ERR_NO_CONNECTIONAEOperation not allowed due to cluster shutdown in progress
299DMECAEOperation not allowed or aborted due to single user mode
763DMECAEAlter table requires cluster nodes to have exact same version
823DMECAEToo much attrinfo from application in tuple manager
829DMECAECorrupt data received for insert/update
831DMECAEToo many nullable/bitfields in table definition
850DMECAEToo long or too short default value
876DMECAE876
877DMECAE877
878DMECAE878
879DMECAE879
880DMECAETried to read too much - too many getValue calls
884DMECAEStack overflow in interpreter
885DMECAEStack underflow in interpreter
886DMECAEMore than 65535 instructions executed in interpreter
897DMECAEUpdate attempt of primary key via ndbcluster internal api (if this occurs via the MySQL server it is a bug, please report)
892DMECAEUnsupported type in scan filter
1233DMECAETable read-only
4256DMECAEMust call Ndb::init() before this function
4257DMECAETried to read too much - too many getValue calls
320DMECAEInvalid no of nodes specified for new nodegroup
321DMECAEInvalid nodegroup id
322DMECAEInvalid node(s) specified for new nodegroup, node already in nodegroup
323DMECAEInvalid nodegroup id, nodegroup already existing
324DMECAEInvalid node(s) specified for new nodegroup, no node in nodegroup is started
417DMECAEBad operation reference - double unlock
242DMECAEZero concurrency in scan
244DMECAEToo high concurrency in scan
269DMECAENo condition and attributes to read in scan
874DMECAEToo much attrinfo (e.g. scan filter) for scan in tuple manager
4600DMECAETransaction is already started
4601DMECAETransaction is not started
4602DMECAEYou must call getNdbOperation before executeScan
4603DMECAEThere can only be ONE operation in a scan transaction
4604DMECAEtakeOverScanOp, to take over a scanned row one must explicitly request keyinfo on readTuples call
4605DMECAEYou may only call readTuples() once for each operation
4607DMECAEThere may only be one operation in a scan transaction
4608DMECAEYou can not takeOverScan unless you have used openScanExclusive
4609DMECAEYou must call nextScanResult before trying to takeOverScan
4232DMECAEParallelism can only be between 1 and 240
4707DMECAEToo many event have been defined
4708DMECAEEvent name is too long
4709DMECAECan't accept more subscribers
4710DMECAEEvent not found
4711DMECAECreation of event failed
4712DMECAEStopped event operation does not exist. Already stopped?
311DMECAEUndefined partition used in setPartitionId
771HA_WRONG_CREATE_OPTIONAEGiven NODEGROUP doesn't exist in this cluster
789HA_WRONG_CREATE_OPTIONAELogfile group not found
793DMECAEObject definition too big
776DMECAEIndex created on temporary table must itself be temporary
777DMECAECannot create a temporary index on a non-temporary table
778DMECAEA temporary table or index must be specified as not logging
794DMECAESchema feature requires data node upgrade
1306DMECAEBackup not supported in diskless mode (change Diskless)
1342DMECAEBackup failed to allocate buffers (check configuration)
1343DMECAEBackup failed to setup fs buffers (check configuration)
1344DMECAEBackup failed to allocate tables (check configuration)
1345DMECAEBackup failed to insert file header (check configuration)
1346DMECAEBackup failed to insert table list (check configuration)
1347DMECAEBackup failed to allocate table memory (check configuration)
1348DMECAEBackup failed to allocate file record (check configuration)
1349DMECAEBackup failed to allocate attribute record (check configuration)
1329DMECAEBackup during software upgrade not supported
1701DMECAENode already reserved
1702DMECAENode already connected
1704DMECAENode type mismatch
720DMECAEAttribute name reused in table definition
4004DMECAEAttribute name or id not found in the table
4100DMECAEStatus Error in NDB
4101DMECAENo connections to NDB available and connect failed
4102DMECAEType in NdbTamper not correct
4103DMECAENo schema connections to NDB available and connect failed
4104DMECAENdb Init in wrong state, destroy Ndb object and create a new
4105DMECAEToo many Ndb objects
4106DMECAEAll Not NULL attribute have not been defined
4114DMECAETransaction is already completed
4116DMECAEOperation was not defined correctly, probably missing a key
4117DMECAECould not start transporter, configuration error
4118DMECAEParameter error in API call
4300DMECAETuple Key Type not correct
4301DMECAEFragment Type not correct
4302DMECAEMinimum Load Factor not correct
4303DMECAEMaximum Load Factor not correct
4304DMECAEMaximum Load Factor smaller than Minimum
4305DMECAEK value must currently be set to 6
4306DMECAEMemory Type not correct
4307DMECAEInvalid table name
4308DMECAEAttribute Size not correct
4309DMECAEFixed array too large, maximum 64000 bytes
4310DMECAEAttribute Type not correct
4311DMECAEStorage Mode not correct
4312DMECAENull Attribute Type not correct
4313DMECAEIndex only storage for non-key attribute
4314DMECAEStorage Type of attribute not correct
4315DMECAENo more key attributes allowed after defining variable length key attribute
4316DMECAEKey attributes are not allowed to be NULL attributes
4317DMECAEToo many primary keys defined in table
4318DMECAEInvalid attribute name or number
4319DMECAEcreateAttribute called at erroneus place
4322DMECAEAttempt to define distribution key when not prepared to
4323DMECAEDistribution Key set on table but not defined on first attribute
4324DMECAEAttempt to define distribution group when not prepared to
4325DMECAEDistribution Group set on table but not defined on first attribute
4326DMECAEDistribution Group with erroneus number of bits
4327DMECAEDistribution key is only supported on part of primary key
4328DMECAEDisk memory attributes not yet supported
4329DMECAEVariable stored attributes not yet supported
4340DMECAEResult or attribute record must be a base table ndbrecord, not an index ndbrecord
4400DMECAEStatus Error in NdbSchemaCon
4401DMECAEOnly one schema operation per schema transaction
4402DMECAENo schema operation defined before calling execute
4410DMECAESchema transaction is already started
4411DMECAESchema transaction not possible until upgrade complete
4501DMECAEInsert in hash table failed when getting table information from Ndb
4502DMECAEGetValue not allowed in Update operation
4503DMECAEGetValue not allowed in Insert operation
4504DMECAESetValue not allowed in Read operation
4505DMECAENULL value not allowed in primary key search
4506DMECAEMissing getValue/setValue when calling execute
4507DMECAEMissing operation request when calling execute
4508DMECAEGetValue not allowed for NdbRecord defined operation
4509DMECAENon SF_MultiRange scan cannot have more than one bound
4510DMECAEUser specified partition id not allowed for scan takeover operation
4511DMECAEBlobs not allowed in NdbRecord delete result record
4512DMECAEIncorrect combination of OperationOptions optionsPresent, extraGet/SetValues ptr and numExtraGet/SetValues
4513DMECAEOnly one scan bound allowed for non-NdbRecord setBound() API
4514DMECAECan only call setBound/equal() for an NdbIndexScanOperation
4515DMECAEMethod not allowed for NdbRecord, use OperationOptions or ScanOptions structure instead
4516DMECAEIllegal instruction in interpreted program
4517DMECAEBad label in branch instruction
4518DMECAEToo many instructions in interpreted program
4519DMECAENdbInterpretedCode::finalise() not called
4520DMECAECall to undefined subroutine
4521DMECAECall to undefined subroutine, internal error
4522DMECAEsetBound() called twice for same key
4523DMECAEPseudo columns not supported by NdbRecord
4524DMECAENdbInterpretedCode is for different table
4535DMECAEAttempt to set bound on non key column
4536DMECAENdbScanFilter constructor taking NdbOperation is not supported for NdbRecord
4537DMECAEWrong API. Use NdbInterpretedCode for NdbRecord operations
4538DMECAENdbInterpretedCode instruction requires that table is set
4539DMECAENdbInterpretedCode not supported for operation type
4540DMECAEAttempt to pass an Index column to createRecord. Use base table columns only
4542DMECAEUnknown partition information type
4543DMECAEDuplicate partitioning information supplied
4544DMECAEWrong partitionInfo type for table
4545DMECAEInvalid or Unsupported PartitionInfo structure
4546DMECAEExplicit partitioning info not allowed for table and operation
4547DMECAERecordSpecification has overlapping offsets
4548DMECAERecordSpecification has too many elements
4549DMECAEgetLockHandle only supported for primary key read with a lock
4550DMECAECannot releaseLockHandle until operation executed
4551DMECAENdbLockHandle already released
4552DMECAENdbLockHandle does not belong to transaction
4553DMECAENdbLockHandle original operation not executed successfully
4554DMECAENdbBlob can only be closed from Active state
4555DMECAENdbBlob cannot be closed with pending operations
4200DMECAEStatus Error when defining an operation
4201DMECAEVariable Arrays not yet supported
4202DMECAESet value on tuple key attribute is not allowed
4203DMECAETrying to set a NOT NULL attribute to NULL
4204DMECAESet value and Read/Delete Tuple is incompatible
4205DMECAENo Key attribute used to define tuple
4206DMECAENot allowed to equal key attribute twice
4207DMECAEKey size is limited to 4092 bytes
4208DMECAETrying to read a non-stored attribute
4209DMECAELength parameter in equal/setValue is incorrect
4210DMECAENdb sent more info than the length he specified
4211DMECAEInconsistency in list of NdbRecAttr-objects
4212DMECAENdb reports NULL value on Not NULL attribute
4213DMECAENot all data of an attribute has been received
4214DMECAENot all attributes have been received
4215DMECAEMore data received than reported in TCKEYCONF message
4216DMECAEMore than 8052 bytes in setValue cannot be handled
4217DMECAEIt is not allowed to increment any other than unsigned ints
4218DMECAECurrently not allowed to increment NULL-able attributes
4219DMECAEMaximum size of interpretative attributes are 64 bits
4220DMECAEMaximum size of interpretative attributes are 64 bits
4221DMECAETrying to jump to a non-defined label
4222DMECAELabel was not found, internal error
4223DMECAENot allowed to create jumps to yourself
4224DMECAENot allowed to jump to a label in a different subroutine
4225DMECAEAll primary keys defined, call setValue/getValue
4226DMECAEBad number when defining a label
4227DMECAEBad number when defining a subroutine
4228DMECAEIllegal interpreter function in scan definition
4229DMECAEIllegal register in interpreter function definition
4230DMECAEIllegal state when calling getValue, probably not a read
4231DMECAEIllegal state when calling interpreter routine
4233DMECAECalling execute (synchronous) when already prepared asynchronous transaction exists
4234DMECAEIllegal to call setValue in this state
4235DMECAENo callback from execute
4236DMECAETrigger name too long
4237DMECAEToo many triggers
4238DMECAETrigger not found
4239DMECAETrigger with given name already exists
4240DMECAEUnsupported trigger type
4241DMECAEIndex name too long
4242DMECAEToo many indexes
4243DMECAEIndex not found
4247DMECAEIllegal index/trigger create/drop/alter request
4248DMECAETrigger/index name invalid
4249DMECAEInvalid table
4250DMECAEInvalid index type or index logging option
4251HA_ERR_FOUND_DUPP_UNIQUEAECannot create unique index, duplicate keys found
4252DMECAEFailed to allocate space for index
4253DMECAEFailed to create index table
4254DMECAETable not an index table
4255DMECAEHash index attributes must be specified in same order as table attributes
4258DMECAECannot create unique index, duplicate attributes found in definition
4259DMECAEInvalid set of range scan bounds
4264DMECAEInvalid usage of blob attribute
4265DMECAEThe method is not valid in current blob state
4266DMECAEInvalid blob seek position
4335DMECAEOnly one autoincrement column allowed per table. Having a table without primary key uses an autoincremented hidden key, i.e. a table without a primary key can not have an autoincremented column
4271DMECAEInvalid index object, not retrieved via getIndex()
4272DMECAETable definition has undefined column
4275DMECAEThe blob method is incompatible with operation type or lock mode
4276DMECAEMissing NULL ptr in end of keyData list
4277DMECAEKey part len is to small for column
4278DMECAESupplied buffer to small
4279DMECAEMalformed string
4280DMECAEInconsistent key part length
4281DMECAEToo many keys specified for key bound in scanIndex
4282DMECAErange_no not strictly increasing in ordered multi-range index scan
4283DMECAEkey_record in index scan is not an index ndbrecord
4284DMECAECannot mix NdbRecAttr and NdbRecord methods in one operation
4285DMECAENULL NdbRecord pointer
4286DMECAEInvalid range_no (must be < 4096)
4287DMECAEThe key_record and attribute_record in primary key operation do not belong to the same table
4288DMECAEBlob handle for column not available
4289DMECAEAPI version mismatch or wrong sizeof(NdbDictionary::RecordSpecification)
4290DMECAEMissing column specification in NdbDictionary::RecordSpecification
4291DMECAEDuplicate column specification in NdbDictionary::RecordSpecification
4292DMECAENdbRecord for tuple access is not an index key NdbRecord
4341DMECAENot all keys read when using option SF_OrderBy
4293DMECAEError returned from application scanIndex() callback
4294DMECAEScan filter is too large, discarded
4295DMECAEColumn is NULL in Get/SetValueSpec structure
4296DMECAEInvalid AbortOption
4297DMECAEInvalid or unsupported OperationOptions structure
4298DMECAEInvalid or unsupported ScanOptions structure
4299DMECAEIncorrect combination of ScanOption flags, extraGetValues ptr and numExtraGetValues
NO_CONTACT_WITH_PROCESSDMECAENo contact with the process (dead ?).
WRONG_PROCESS_TYPEDMECAEThe process has wrong type. Expected a DB process.
SEND_OR_RECEIVE_FAILEDDMECAESend to process or receive failed.
INVALID_ERROR_NUMBERDMECAEInvalid error number. Should be >= 0.
INVALID_TRACE_NUMBERDMECAEInvalid trace number.
INVALID_BLOCK_NAMEDMECAEInvalid block name
NODE_SHUTDOWN_IN_PROGESSDMECAENode shutdown in progress
SYSTEM_SHUTDOWN_IN_PROGRESSDMECAESystem shutdown in progress
NODE_SHUTDOWN_WOULD_CAUSE_SYSTEM_CRASHDMECAENode shutdown would cause system crash
UNSUPPORTED_NODE_SHUTDOWNDMECAEUnsupported multi node shutdown. Abort option required.
NODE_NOT_API_NODEDMECAEThe specified node is not an API node.
OPERATION_NOT_ALLOWED_START_STOPDMECAEOperation not allowed while nodes are starting or stopping.
NO_CONTACT_WITH_DB_NODESDMECAENo contact with database nodes

5.2.2.3. No data found Errors

NDB Error CodeMySQL Error CodeNDB Error ClassificationError Message
626HA_ERR_KEY_NOT_FOUNDNDTuple did not exist

5.2.2.4. Constraint violation Errors

NDB Error CodeMySQL Error CodeNDB Error ClassificationError Message
630HA_ERR_FOUND_DUPP_KEYCVTuple already existed when attempting to insert
839DMECCVIllegal null attribute
840DMECCVTrying to set a NOT NULL attribute to NULL
893HA_ERR_FOUND_DUPP_KEYCVConstraint violation e.g. duplicate value in unique index

5.2.2.5. Schema error Messages

NDB Error CodeMySQL Error CodeNDB Error ClassificationError Message
4713DMECSEColumn defined in event does not exist in table
703DMECSEInvalid table format
704DMECSEAttribute name too long
705DMECSETable name too long
707DMECSENo more table metadata records (increase MaxNoOfTables)
708DMECSENo more attribute metadata records (increase MaxNoOfAttributes)
709HA_ERR_NO_SUCH_TABLESENo such table existed
710DMECSEInternal: Get by table name not supported, use table id.
723HA_ERR_NO_SUCH_TABLESENo such table existed
736DMECSEUnsupported array size
737HA_WRONG_CREATE_OPTIONSEAttribute array size too big
738HA_WRONG_CREATE_OPTIONSERecord too big
739HA_WRONG_CREATE_OPTIONSEUnsupported primary key length
740HA_WRONG_CREATE_OPTIONSENullable primary key not supported
741DMECSEUnsupported alter table
743HA_WRONG_CREATE_OPTIONSEUnsupported character set in table or index
744DMECSECharacter string is invalid for given character set
745HA_WRONG_CREATE_OPTIONSEDistribution key not supported for char attribute (use binary attribute)
779HA_WRONG_CREATE_OPTIONSEInvalid undo buffer size
791HA_WRONG_CREATE_OPTIONSEToo many total bits in bitfields
764HA_WRONG_CREATE_OPTIONSEInvalid extent size
765DMECSEOut of filegroup records
750IESEInvalid file type
751DMECSEOut of file records
752DMECSEInvalid file format
753IESEInvalid filegroup for file
754IESEInvalid filegroup version when creating file
755HA_WRONG_CREATE_OPTIONSEInvalid tablespace
756DMECSEIndex on disk column is not supported
757DMECSEVarsize bitfield not supported
758DMECSETablespace has changed
759DMECSEInvalid tablespace version
761DMECSEUnable to drop table as backup is in progress
762DMECSEUnable to alter table as backup is in progress
766DMECSECant drop file, no such file
767DMECSECant drop filegroup, no such filegroup
768DMECSECant drop filegroup, filegroup is used
769DMECSEDrop undofile not supported, drop logfile group instead
770DMECSECant drop file, file is used
774DMECSEInvalid schema object for drop
790HA_WRONG_CREATE_OPTIONSEInvalid hashmap
241HA_ERR_TABLE_DEF_CHANGEDSEInvalid schema object version
283HA_ERR_NO_SUCH_TABLESETable is being dropped
284HA_ERR_TABLE_DEF_CHANGEDSETable not defined in transaction coordinator
285DMECSEUnknown table error in transaction coordinator
881DMECSEUnable to create table, out of data pages (increase DataMemory)
906DMECSEUnsupported attribute type in index
907DMECSEUnsupported character set in table or index
1224HA_WRONG_CREATE_OPTIONSEToo many fragments
1225DMECSETable not defined in local query handler
1226DMECSETable is being dropped
1227HA_WRONG_CREATE_OPTIONSEInvalid schema version
1228DMECSECannot use drop table for drop index
1229DMECSEToo long frm data supplied
1231DMECSEInvalid table or index to scan
1232DMECSEInvalid table or index to scan
1503DMECSEOut of filegroup records
1504DMECSEOut of logbuffer memory
1508DMECSEOut of file records
1509DMECSEFile system error, check if path,permissions etc
1512DMECSEFile read error
1514DMECSECurrently there is a limit of one logfile group
1515DMECSECurrently there is a 4G limit of one undo/data-file in 32-bit host
1516DMECSEFile too small
773DMECSEOut of string memory, please modify StringMemory config parameter
775DMECSECreate file is not supported when Diskless=1
792DMECSEDefault value for primary key column not supported
1407DMECSESubscription not found in subscriber manager
1415DMECSESubscription not unique in subscriber manager
1417DMECSETable in suscription not defined, probably dropped
1418DMECSESubscription dropped, no new subscribers allowed
1419DMECSESubscription already dropped
1421DMECSEPartially connected API in NdbOperation::execute()
1422DMECSEOut of subscription records
1423DMECSEOut of table records in SUMA
1424DMECSEOut of MaxNoOfConcurrentSubOperations
1425DMECSESubscription being defined...while trying to stop subscriber
1426DMECSENo such subscriber

5.2.2.6. Schema object already exists Errors

NDB Error CodeMySQL Error CodeNDB Error ClassificationError Message
746DMECOEEvent name already exists
4244HA_ERR_TABLE_EXISTOEIndex or table with given name already exists

5.2.2.7. User defined error Messages

NDB Error CodeMySQL Error CodeNDB Error ClassificationError Message
1321DMECUDBackup aborted by user request
4260DMECUDNdbScanFilter: Operator is not defined in NdbScanFilter::Group
4261DMECUDNdbScanFilter: Column is NULL
4262DMECUDNdbScanFilter: Condition is out of bounds

5.2.2.8. Insufficient space Errors

NDB Error CodeMySQL Error CodeNDB Error ClassificationError Message
623HA_ERR_RECORD_FILE_FULLIS623
624HA_ERR_RECORD_FILE_FULLIS624
625HA_ERR_INDEX_FILE_FULLISOut of memory in Ndb Kernel, hash index part (increase IndexMemory)
633HA_ERR_INDEX_FILE_FULLISTable fragment hash index has reached maximum possible size
640DMECISToo many hash indexes (should not happen)
826HA_ERR_RECORD_FILE_FULLISToo many tables and attributes (increase MaxNoOfAttributes or MaxNoOfTables)
827HA_ERR_RECORD_FILE_FULLISOut of memory in Ndb Kernel, table data (increase DataMemory)
902HA_ERR_RECORD_FILE_FULLISOut of memory in Ndb Kernel, ordered index data (increase DataMemory)
903HA_ERR_INDEX_FILE_FULLISToo many ordered indexes (increase MaxNoOfOrderedIndexes)
904HA_ERR_INDEX_FILE_FULLISOut of fragment records (increase MaxNoOfOrderedIndexes)
905DMECISOut of attribute records (increase MaxNoOfAttributes)
1601HA_ERR_RECORD_FILE_FULLISOut extents, tablespace full
1602DMECISNo datafile in tablespace
747DMECISOut of event records
908DMECISInvalid ordered index tree node size
1303DMECISOut of resources
1412DMECISCan't accept more subscribers, out of space in pool
1416DMECISCan't accept more subscriptions, out of space in pool

5.2.2.9. Temporary Resource error Messages

NDB Error CodeMySQL Error CodeNDB Error ClassificationError Message
217DMECTR217
218DMECTROut of LongMessageBuffer
219DMECTR219
233DMECTROut of operation records in transaction coordinator (increase MaxNoOfConcurrentOperations)
275DMECTROut of transaction records for complete phase (increase MaxNoOfConcurrentTransactions)
279DMECTROut of transaction markers in transaction coordinator
414DMECTR414
418DMECTROut of transaction buffers in LQH
419DMECTR419
245DMECTRToo many active scans
488DMECTRToo many active scans
489DMECTRToo many active scans
490DMECTRToo many active scans
805DMECTROut of attrinfo records in tuple manager
830DMECTROut of add fragment operation records
873DMECTROut of attrinfo records for scan in tuple manager
899DMECTRRowid already allocated
1217DMECTROut of operation records in local data manager (increase MaxNoOfLocalOperations)
1218DMECTRSend Buffers overloaded in NDB kernel
1220DMECTRREDO log files overloaded (increase FragmentLogFileSize)
1222DMECTROut of transaction markers in LQH
4021DMECTROut of Send Buffer space in NDB API
4022DMECTROut of Send Buffer space in NDB API
4032DMECTROut of Send Buffer space in NDB API
1501DMECTROut of undo space
288DMECTROut of index operations in transaction coordinator (increase MaxNoOfConcurrentIndexOperations)
289DMECTROut of transaction buffer memory in TC (increase TransactionBufferMemory)
780DMECTRToo many schema transactions
783DMECTRToo many schema operations
785DMECTRSchema object is busy with another schema transaction
291DMECTROut of scanfrag records in TC (increase MaxNoOfLocalScans)
784DMECTRInvalid schema transaction state
788DMECTRMissing schema operation at takeover of schema transaction
748DMECTRBusy during read of event table
1350DMECTRBackup failed: file already exists (use 'START BACKUP <backup id>')
1411DMECTRSubscriber manager busy with adding/removing a subscriber
1413DMECTRSubscriber manager busy with adding the subscription
1414DMECTRSubscriber manager has subscribers on this subscription
1420DMECTRSubscriber manager busy with adding/removing a table
2810DMECTRNo space left on the device
2811DMECTRError with file permissions, please check file system
2815DMECTRError in reading files, please check file system

5.2.2.10. Node Recovery error Messages

NDB Error CodeMySQL Error CodeNDB Error ClassificationError Message
286DMECNRNode failure caused abort of transaction
250DMECNRNode where lock was held crashed, restart scan transaction
499DMECNRScan take over error, restart scan transaction
1204DMECNRTemporary failure, distribution changed
4002DMECNRSend to NDB failed
4010DMECNRNode failure caused abort of transaction
4025DMECNRNode failure caused abort of transaction
4027DMECNRNode failure caused abort of transaction
4028DMECNRNode failure caused abort of transaction
4029DMECNRNode failure caused abort of transaction
4031DMECNRNode failure caused abort of transaction
4033DMECNRSend to NDB failed
4115DMECNRTransaction was committed but all read information was not ""received due to node crash
4119DMECNRSimple/dirty read failed due to node failure
786DMECNRSchema transaction aborted due to node-failure
1405DMECNRSubscriber manager busy with node recovery
1427DMECNRApi node died, when SUB_START_REQ reached node

5.2.2.11. Overload error Messages

NDB Error CodeMySQL Error CodeNDB Error ClassificationError Message
701DMECOLSystem busy with other schema operation
711DMECOLSystem busy with node restart, schema operations not allowed
410DMECOLREDO log files overloaded (decrease TimeBetweenLocalCheckpoints or increase NoOfFragmentLogFiles)
677DMECOLIndex UNDO buffers overloaded (increase UndoIndexBuffer)
891DMECOLData UNDO buffers overloaded (increase UndoDataBuffer)
1221DMECOLREDO buffers overloaded (increase RedoBuffer)
4006DMECOLConnect failure - out of connection objects (increase MaxNoOfConcurrentTransactions)

5.2.2.12. Timeout expired Errors

NDB Error CodeMySQL Error CodeNDB Error ClassificationError Message
266HA_ERR_LOCK_WAIT_TIMEOUTTOTime-out in NDB, probably caused by deadlock
274, HA_ERR_LOCK_WAIT_TIMEOUT, TO, "Time-out in NDB, probably caused by deadlock" }, { 237HA_ERR_LOCK_WAIT_TIMEOUTTOTransaction had timed out when trying to commit it
4351DMECTOTimeout/deadlock during index build

5.2.2.13. Node shutdown Errors

NDB Error CodeMySQL Error CodeNDB Error ClassificationError Message
280DMECNSTransaction aborted due to node shutdown
270DMECNSTransaction aborted due to node shutdown
1223DMECNSRead operation aborted due to node shutdown
4023DMECNSTransaction aborted due to node shutdown
4030DMECNSTransaction aborted due to node shutdown
4034DMECNSTransaction aborted due to node shutdown

5.2.2.14. Internal temporary Errors

NDB Error CodeMySQL Error CodeNDB Error ClassificationError Message
702DMECITRequest to non-master
787DMECITSchema transaction aborted
1703DMECITNode failure handling not completed

5.2.2.15. Unknown result error Messages

NDB Error CodeMySQL Error CodeNDB Error ClassificationError Message
4007DMECURSend to ndbd node failed
4008DMECURReceive from NDB failed
4009HA_ERR_NO_CONNECTIONURCluster Failure
4012DMECURRequest ndbd time-out, maybe due to high load or communication problems
4013DMECURRequest timed out in waiting for node failure
4024DMECURTime-out, most likely caused by simple read or cluster failure

5.2.2.16. Internal error Messages

NDB Error CodeMySQL Error CodeNDB Error ClassificationError Message
896DMECIETuple corrupted - wrong checksum or column data in invalid format
901DMECIEInconsistent ordered index. The index needs to be dropped and recreated
202DMECIE202
203DMECIE203
207DMECIE207
208DMECIE208
209DMECIECommunication problem, signal error
220DMECIE220
230DMECIE230
232DMECIE232
238DMECIE238
271DMECIESimple Read transaction without any attributes to read
272DMECIEUpdate operation without any attributes to update
276DMECIE276
277DMECIE277
278DMECIE278
287DMECIEIndex corrupted
290DMECIECorrupt key in TC, unable to xfrm
293DMECIEInconsistent trigger state in TC block
292DMECIEInconsistent index state in TC block
631DMECIE631
632DMECIE632
706DMECIEInconsistency during table creation
781DMECIEInvalid schema transaction key from NDB API
782DMECIEInvalid schema transaction id from NDB API
809DMECIE809
812DMECIE812
833DMECIE833
871DMECIE871
882DMECIE882
883DMECIE883
887DMECIE887
888DMECIE888
890DMECIE890
4000DMECIEMEMORY ALLOCATION ERROR
4001DMECIESignal Definition Error
4005DMECIEInternal Error in NdbApi
4011DMECIEInternal Error in NdbApi
4107DMECIESimple Transaction and Not Start
4108DMECIEFaulty operation type
4109DMECIEFaulty primary key attribute length
4110DMECIEFaulty length in ATTRINFO signal
4111DMECIEStatus Error in NdbConnection
4113DMECIEToo many operations received
4320DMECIECannot use the same object twice to create table
4321DMECIETrying to start two schema transactions
4344DMECIEOnly DBDICT and TRIX can send requests to TRIX
4345DMECIETRIX block is not available yet, probably due to node failure
4346DMECIEInternal error at index create/build
4347DMECIEBad state at alter index
4348DMECIEInconsistency detected at alter index
4349DMECIEInconsistency detected at index usage
4350DMECIETransaction already aborted
294DMECIEUnlocked operation has out of range index
295DMECIEUnlocked operation has invalid state
298DMECIEInvalid distribution key
416DMECIEBad state handling unlock request
4731DMECIEEvent not found
306DMECIEOut of fragment records in DIH
772HA_WRONG_CREATE_OPTIONIEGiven fragmentType doesn't exist
749HA_WRONG_CREATE_OPTIONIEPrimary Table in wrong state
795DMECIEOut of LongMessageBuffer in DICT
1502DMECIEFilegroup already exists
1505DMECIEInvalid filegroup
1506DMECIEInvalid filegroup version
1507DMECIEFile no already inuse
1510DMECIEFile meta data error
1511DMECIEOut of memory
1513DMECIEFilegroup not online
1300DMECIEUndefined error
1301DMECIEBackup issued to not master (reissue command to master)
1302DMECIEOut of backup record
1304DMECIESequence failure
1305DMECIEBackup definition not implemented
1322DMECIEBackup already completed
1323DMECIE1323
1324DMECIEBackup log buffer full
1325DMECIEFile or scan error
1326DMECIEBackup abortet due to node failure
1327DMECIE1327
1340DMECIEBackup undefined error
1700DMECIEUndefined error
4263DMECIEInvalid blob attributes or invalid blob parts table
4267DMECIECorrupted blob value
4268DMECIEError in blob head update forced rollback of transaction
4269DMECIENo connection to ndb management server
4270DMECIEUnknown blob error
4273DMECIENo blob table in dict cache
4274DMECIECorrupted main table PK in blob operation

5.2.2.17. Function not implemented Errors

NDB Error CodeMySQL Error CodeNDB Error ClassificationError Message
4003DMECNIFunction not implemented yet

5.2.3. NDB Error Classifications

The following table lists the classification codes used in Section 5.2, “NDB API Errors and Error Handling”, and their descriptions. These can also be found in the file /storage/ndb/src/ndbapi/ndberror.c.

Classification CodeError StatusDescription
NESuccessNo error
AEPermanent errorApplication error
CEPermanent errorConfiguration or application error
NDPermanent errorNo data found
CVPermanent errorConstraint violation
SEPermanent errorSchema error
OEPermanent errorSchema object already exists
UDPermanent errorUser defined error
ISPermanent errorInsufficient space
TRTemporary errorTemporary Resource error
NRTemporary errorNode Recovery error
OLTemporary errorOverload error
TOTemporary errorTimeout expired
NSTemporary errorNode shutdown
ITTemporary errorInternal temporary
URUnknown resultUnknown result error
UEUnknown resultUnknown error code
IEPermanent errorInternal error
NIPermanent errorFunction not implemented
DMECDefault MySQL error codeUsed for NDB errors that are not otherwise mapped to MySQL error codes

5.3. ndbd Error Messages

This section contains exit codes and error messages given when a data node process stops prematurely.

5.3.1. ndbd Error Codes

This section lists all the error messages that can be returned when a data node process halts due to an error, arranged in most cases according to the affected NDB kernel block.

For more information about kernel blocks, see Section 6.4, “NDB Kernel Blocks”

The meanings of the values given in the Classification column of each of the following tables is given in Section 5.3.2, “ndbd Error Classifications”.

5.3.1.1. General Errors

This section contains ndbd error codes that are either generic in nature or otherwise not associated with a specific NDB kernel block.

Error CodeError ClassificationError Text
NDBD_EXIT_GENERICXREGeneric error
NDBD_EXIT_PRGERRXIEAssertion
NDBD_EXIT_NODE_NOT_IN_CONFIGXCEnode id in the configuration has the wrong type, (that is, not an NDB node)
NDBD_EXIT_SYSTEM_ERRORXIESystem error, node killed during node restart by other node
NDBD_EXIT_INDEX_NOTINRANGEXIEArray index out of range
NDBD_EXIT_ARBIT_SHUTDOWNXAENode lost connection to other nodes and can not form a unpartitioned cluster, please investigate if there are error(s) on other node(s)
NDBD_EXIT_PARTITIONED_SHUTDOWNXAEPartitioned cluster detected. Please check if cluster is already running
NDBD_EXIT_NODE_DECLARED_DEADXAENode declared dead. See error log for details
NDBD_EXIT_POINTER_NOTINRANGEXIEPointer too large
NDBD_EXIT_SR_OTHERNODEFAILEDXREAnother node failed during system restart, please investigate error(s) on other node(s)
NDBD_EXIT_NODE_NOT_DEADXREInternal node state conflict, most probably resolved by restarting node again
NDBD_EXIT_SR_REDOLOGXFIError while reading the REDO log
NDBD_EXIT_SR_SCHEMAFILEXFIError while reading the schema file
2311XIEConflict when selecting restart type
NDBD_EXIT_NO_MORE_UNDOLOGXCRNo more free UNDO log, increase UndoIndexBuffer
NDBD_EXIT_SR_UNDOLOGXFIError while reading the datapages and UNDO log
NDBD_EXIT_SINGLE_USER_MODEXREData node is not allowed to get added to the cluster while it is in single user mode
NDBD_EXIT_MEMALLOCXCEMemory allocation failure, please decrease some configuration parameters
NDBD_EXIT_BLOCK_JBUFCONGESTIONXIEJob buffer congestion
NDBD_EXIT_TIME_QUEUE_SHORTXIEError in short time queue
NDBD_EXIT_TIME_QUEUE_LONGXIEError in long time queue
NDBD_EXIT_TIME_QUEUE_DELAYXIEError in time queue, too long delay
NDBD_EXIT_TIME_QUEUE_INDEXXIETime queue index out of range
NDBD_EXIT_BLOCK_BNR_ZEROXIESend signal error
NDBD_EXIT_WRONG_PRIO_LEVELXIEWrong priority level when sending signal
NDBD_EXIT_NDBREQUIREXIEInternal program error (failed ndbrequire)
NDBD_EXIT_NDBASSERTXIEInternal program error (failed ndbassert)
NDBD_EXIT_ERROR_INSERTXNEError insert executed
NDBD_EXIT_INVALID_CONFIGXCEInvalid configuration received from Management Server
NDBD_EXIT_RESOURCE_ALLOC_ERRORXCEResource allocation error, please review the configuration
NDBD_EXIT_OS_SIGNAL_RECEIVEDXIEError OS signal received
NDBD_EXIT_SR_RESTARTCONFLICTXREPartial system restart causing conflicting file systems

5.3.1.2. VM Errors

This section contains ndbd error codes that are associated with problems in the VM (virtal machine) NDB kernel block.

Error CodeError ClassificationError Text
NDBD_EXIT_OUT_OF_LONG_SIGNAL_MEMORY XCRSignal lost, out of long signal memory, please increase LongMessageBuffer
NDBD_EXIT_WATCHDOG_TERMINATEXIEWatchDog terminate, internal error or massive overload on the machine running this node
NDBD_EXIT_SIGNAL_LOST_SEND_BUFFER_FULLXCRSignal lost, out of send buffer memory, please increase SendBufferMemory or lower the load
NDBD_EXIT_SIGNAL_LOST XIESignal lost (unknown reason)
NDBD_EXIT_ILLEGAL_SIGNALXIEIllegal signal (version mismatch a possibility)
NDBD_EXIT_CONNECTION_SETUP_FAILEDXCEConnection setup failed

5.3.1.3. NDBCNTR Errors

This section contains ndbd error codes that are associated with problems in the NDBCNTR (initialization and configuration) NDB kernel block.

Error CodeError ClassificationError Text
NDBD_EXIT_RESTART_TIMEOUTXCETotal restart time too long, consider increasing StartFailureTimeout or investigate error(s) on other node(s)
NDBD_EXIT_RESTART_DURING_SHUTDOWNXRENode started while node shutdown in progress. Please wait until shutdown complete before starting node

5.3.1.4. DIH Errors

This section contains ndbd error codes that are associated with problems in the DIH (distribution handler) NDB kernel block.

Error CodeError ClassificationError Text
NDBD_EXIT_MAX_CRASHED_REPLICASXFLToo many crashed replicas (8 consecutive node restart failures)
NDBD_EXIT_MASTER_FAILURE_DURING_NRXREUnhandled master failure during node restart
NDBD_EXIT_LOST_NODE_GROUPXAEAll nodes in a node group are unavailable
NDBD_EXIT_NO_RESTORABLE_REPLICAXFIUnable to find a restorable replica

5.3.1.5. ACC Errors

This section contains ndbd error codes that are associated with problems in the ACC (access control and lock management) NDB kernel block.

Error CodeError ClassificationError Text
NDBD_EXIT_SR_OUT_OF_INDEXMEMORYXCROut of index memory during system restart, please increase IndexMemory

5.3.1.6. TUP Errors

This section contains ndbd error codes that are associated with problems in the TUP (tuple management) NDB kernel block.

Error CodeError ClassificationError Text
NDBD_EXIT_SR_OUT_OF_DATAMEMORYXCROut of data memory during system restart, please increase DataMemory

5.3.1.7. NDBFS Errors

This section contains ndbd error codes that are associated with problems in the NDBFS (filesystem) NDB kernel block.

Most of these errors will provide additional information, such as operating system error codes, when they are generated.

Error CodeError ClassificationError Text
NDBD_EXIT_AFS_NOPATHXIENo file system path
2802XIEChannel is full
2803XIENo more threads
NDBD_EXIT_AFS_PARAMETERXIEBad parameter
NDBD_EXIT_AFS_INVALIDPATHXCEIllegal file system path
NDBD_EXIT_AFS_MAXOPENXCRMax number of open files exceeded, please increase MaxNoOfOpenFiles
NDBD_EXIT_AFS_ALREADY_OPENXIEFile has already been opened
NDBD_EXIT_AFS_ENVIRONMENTXIEEnvironment error using file
NDBD_EXIT_AFS_TEMP_NO_ACCESSXIETemporary on access to file
NDBD_EXIT_AFS_DISK_FULLXFFThe file system is full
NDBD_EXIT_AFS_PERMISSION_DENIEDXCEReceived permission denied for file
NDBD_EXIT_AFS_INVALID_PARAMXCEInvalid parameter for file
NDBD_EXIT_AFS_UNKNOWNXIEUnknown file system error
NDBD_EXIT_AFS_NO_MORE_RESOURCESXIESystem reports no more file system resources
NDBD_EXIT_AFS_NO_SUCH_FILEXFIFile not found
NDBD_EXIT_AFS_READ_UNDERFLOWXFIRead underflow
NDBD_EXIT_INVALID_LCP_FILEXFIInvalid LCP
NDBD_EXIT_INSUFFICENT_NODESXREInsufficent nodes for system restart
NDBD_EXIT_UNSUPPORTED_VERSIONXREUnsupported version

5.3.1.8. Sentinel Errors

A special case, to handle unknown or previously unclassified errors. You should always report a bug using http://bugs.mysql.com/ if you can repeat a problem giving rise to this error consistently.

Error CodeError ClassificationError Text
0XUENo message slogan found (please report a bug if you get this error code)

5.3.2. ndbd Error Classifications

This section lists the classifications for the error messages described in Section 5.3.1, “ndbd Error Codes”.

Error CodeError ClassificationError Text
XNESuccessNo error
XUEUnknownUnknown
XIEXST_RInternal error, programming error or missing error message, please report a bug
XCEPermanent error, external action neededConfiguration error
XAETemporary error, restart nodeArbitration error
XRETemporary error, restart nodeRestart error
XCRPermanent error, external action neededResource configuration error
XFFPermanent error, external action neededFile system full
XFINdbd file system error, restart node initialNdbd file system inconsistency error, please report a bug
XFLNdbd file system error, restart node initialNdbd file system limit exceeded

5.4. NDB Transporter Errors

This section lists error codes, names, and messages that are written to the cluster log in the event of transporter errors.

Error CodeError NameError Text
0x00TE_NO_ERRORNo error
0x01TE_ERROR_CLOSING_SOCKETError found during closing of socket
0x02TE_ERROR_IN_SELECT_BEFORE_ACCEPTError found before accept. The transporter will retry
0x03TE_INVALID_MESSAGE_LENGTHError found in message (invalid message length)
0x04TE_INVALID_CHECKSUMError found in message (checksum)
0x05TE_COULD_NOT_CREATE_SOCKETError found while creating socket(can't create socket)
0x06TE_COULD_NOT_BIND_SOCKETError found while binding server socket
0x07TE_LISTEN_FAILEDError found while listening to server socket
0x08TE_ACCEPT_RETURN_ERRORError found during accept(accept return error)
0x0bTE_SHM_DISCONNECTThe remote node has disconnected
0x0cTE_SHM_IPC_STATUnable to check shm segment
0x0dTE_SHM_UNABLE_TO_CREATE_SEGMENTUnable to create shm segment
0x0eTE_SHM_UNABLE_TO_ATTACH_SEGMENTUnable to attach shm segment
0x0fTE_SHM_UNABLE_TO_REMOVE_SEGMENTUnable to remove shm segment
0x10TE_TOO_SMALL_SIGIDSig ID too small
0x11TE_TOO_LARGE_SIGIDSig ID too large
0x12TE_WAIT_STACK_FULLWait stack was full
0x13TE_RECEIVE_BUFFER_FULLReceive buffer was full
0x14TE_SIGNAL_LOST_SEND_BUFFER_FULLSend buffer was full,and trying to force send fails
0x15TE_SIGNAL_LOSTSend failed for unknown reason(signal lost)
0x16TE_SEND_BUFFER_FULLThe send buffer was full, but sleeping for a while solved
0x0017TE_SCI_LINK_ERRORThere is no link from this node to the switch
0x18TE_SCI_UNABLE_TO_START_SEQUENCECould not start a sequence, because system resources are exumed or no sequence has been created
0x19TE_SCI_UNABLE_TO_REMOVE_SEQUENCECould not remove a sequence
0x1aTE_SCI_UNABLE_TO_CREATE_SEQUENCECould not create a sequence, because system resources are exempted. Must reboot
0x1bTE_SCI_UNRECOVERABLE_DATA_TFX_ERRORTried to send data on redundant link but failed
0x1cTE_SCI_CANNOT_INIT_LOCALSEGMENTCannot initialize local segment
0x1dTE_SCI_CANNOT_MAP_REMOTESEGMENTCannot map remote segment
0x1eTE_SCI_UNABLE_TO_UNMAP_SEGMENTCannot free the resources used by this segment (step 1)
0x1fTE_SCI_UNABLE_TO_REMOVE_SEGMENTCannot free the resources used by this segment (step 2)
0x20TE_SCI_UNABLE_TO_DISCONNECT_SEGMENTCannot disconnect from a remote segment
0x21TE_SHM_IPC_PERMANENTShm ipc Permanent error
0x22TE_SCI_UNABLE_TO_CLOSE_CHANNELUnable to close the sci channel and the resources allocated