<div id="docs-body">
 <div class="section">
  <div class="titlepage">
   <div>
    <div>
     <h4 class="title">
      <a name="mysql-cluster-ndbd-definition">
      </a>
      25.4.3.6 Defining NDB Cluster Data Nodes
     </h4>
    </div>
   </div>
  </div>
  <a class="indexterm" name="idm46045119994640">
  </a>
  <a class="indexterm" name="idm46045119993152">
  </a>
  <p>
   The
   <code class="literal">
    [ndbd]
   </code>
   and
   <code class="literal">
    [ndbd
        default]
   </code>
   sections are used to configure the behavior
        of the cluster's data nodes.
  </p>
  <p>
   <code class="literal">
    [ndbd]
   </code>
   and
   <code class="literal">
    [ndbd default]
   </code>
   are always used as the section names whether you are using
   <a class="link" href="mysql-cluster-programs-ndbd.html" title="25.5.1 ndbd — The NDB Cluster Data Node Daemon">
    <span class="command">
     <strong>
      ndbd
     </strong>
    </span>
   </a>
   or
   <a class="link" href="mysql-cluster-programs-ndbmtd.html" title="25.5.3 ndbmtd — The NDB Cluster Data Node Daemon (Multi-Threaded)">
    <span class="command">
     <strong>
      ndbmtd
     </strong>
    </span>
   </a>
   binaries
        for the data node processes.
  </p>
  <p>
   There are many parameters which control buffer sizes, pool
        sizes, timeouts, and so forth. The only mandatory parameter is
   <code class="literal">
    ExecuteOnComputer
   </code>
   ; this must be defined in
        the local
   <code class="literal">
    [ndbd]
   </code>
   section.
  </p>
  <p>
   The parameter
   <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-noofreplicas">
    <code class="literal">
     NoOfReplicas
    </code>
   </a>
   should be
        defined in the
   <code class="literal">
    [ndbd default]
   </code>
   section, as it
        is common to all Cluster data nodes. It is not strictly
        necessary to set
   <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-noofreplicas">
    <code class="literal">
     NoOfReplicas
    </code>
   </a>
   , but it is
        good practice to set it explicitly.
  </p>
  <p>
   Most data node parameters are set in the
   <code class="literal">
    [ndbd
        default]
   </code>
   section. Only those parameters explicitly
        stated as being able to set local values are permitted to be
        changed in the
   <code class="literal">
    [ndbd]
   </code>
   section. Where present,
   <code class="literal">
    HostName
   </code>
   and
   <code class="literal">
    NodeId
   </code>
   <span class="emphasis">
    <em>
     must
    </em>
   </span>
   be defined in the local
   <code class="literal">
    [ndbd]
   </code>
   section, and not in any other section
        of
   <code class="filename">
    config.ini
   </code>
   . In other words, settings for
        these parameters are specific to one data node.
  </p>
  <p>
   For those parameters affecting memory usage or buffer sizes, it
        is possible to use
   <code class="literal">
    K
   </code>
   ,
   <code class="literal">
    M
   </code>
   ,
        or
   <code class="literal">
    G
   </code>
   as a suffix to indicate units of 1024,
        1024×1024, or 1024×1024×1024. (For example,
   <code class="literal">
    100K
   </code>
   means 100 × 1024 = 102400.)
  </p>
  <p>
   Parameter names and values are case-insensitive, unless used in
        a MySQL Server
   <code class="filename">
    my.cnf
   </code>
   or
   <code class="filename">
    my.ini
   </code>
   file, in which case they are
        case-sensitive.
  </p>
  <p>
   Information about configuration parameters specific to NDB
        Cluster Disk Data tables can be found later in this section (see
   <a class="xref" href="mysql-cluster-ndbd-definition.html#mysql-cluster-ndbd-definition-disk-data-parameters" title="Disk Data Configuration Parameters">
    Disk Data Configuration Parameters
   </a>
   ).
  </p>
  <p>
   All of these parameters also apply to
   <a class="link" href="mysql-cluster-programs-ndbmtd.html" title="25.5.3 ndbmtd — The NDB Cluster Data Node Daemon (Multi-Threaded)">
    <span class="command">
     <strong>
      ndbmtd
     </strong>
    </span>
   </a>
   (the multithreaded version of
   <a class="link" href="mysql-cluster-programs-ndbd.html" title="25.5.1 ndbd — The NDB Cluster Data Node Daemon">
    <span class="command">
     <strong>
      ndbd
     </strong>
    </span>
   </a>
   ). Three
        additional data node configuration
        parameters—
   <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbmtd-maxnoofexecutionthreads">
    <code class="literal">
     MaxNoOfExecutionThreads
    </code>
   </a>
   ,
   <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbmtd-threadconfig">
    <code class="literal">
     ThreadConfig
    </code>
   </a>
   , and
   <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbmtd-nooffragmentlogparts">
    <code class="literal">
     NoOfFragmentLogParts
    </code>
   </a>
   —apply
        to
   <a class="link" href="mysql-cluster-programs-ndbmtd.html" title="25.5.3 ndbmtd — The NDB Cluster Data Node Daemon (Multi-Threaded)">
    <span class="command">
     <strong>
      ndbmtd
     </strong>
    </span>
   </a>
   only; these have no effect when
        used with
   <a class="link" href="mysql-cluster-programs-ndbd.html" title="25.5.1 ndbd — The NDB Cluster Data Node Daemon">
    <span class="command">
     <strong>
      ndbd
     </strong>
    </span>
   </a>
   . For more information, see
   <a class="xref" href="mysql-cluster-ndbd-definition.html#mysql-cluster-ndbd-definition-ndbmtd-parameters" title="Multi-Threading Configuration Parameters (ndbmtd)">
    Multi-Threading Configuration Parameters (ndbmtd)
   </a>
   .
        See also
   <a class="xref" href="mysql-cluster-programs-ndbmtd.html" title="25.5.3 ndbmtd — The NDB Cluster Data Node Daemon (Multi-Threaded)">
    Section 25.5.3, “ndbmtd — The NDB Cluster Data Node Daemon (Multi-Threaded)”
   </a>
   .
  </p>
  <p>
   <a name="mysql-cluster-identifying-data-nodes">
   </a>
   <b>
    Identifying data nodes.
   </b>
   The
   <code class="literal">
    NodeId
   </code>
   or
   <code class="literal">
    Id
   </code>
   value
          (that is, the data node identifier) can be allocated on the
          command line when the node is started or in the configuration
          file.
  </p>
  <div class="itemizedlist">
   <ul class="itemizedlist" style="list-style-type: disc; ">
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-nodeid">
      </a>
      <code class="literal">
       NodeId
      </code>
     </p>
     <a class="indexterm" name="idm46045119950768">
     </a>
     <div class="informaltable">
      <a name="nodeid-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="NodeId data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          unsigned
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          [...]
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          1 - 144
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Initial System Restart:
            </strong>
           </span>
           Requires a complete shutdown of the
                    cluster, wiping and restoring the cluster file
                    system from a
           <a class="link" href="mysql-cluster-backup.html" title="25.6.8 Online Backup of NDB Cluster">
            backup
           </a>
           ,
                    and then restarting the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      A unique node ID is used as the node's address for all
            cluster internal messages. For data nodes, this is an
            integer in the range 1 to 144 inclusive. Each node in the
            cluster must have a unique identifier.
     </p>
     <p>
      <code class="literal">
       NodeId
      </code>
      is the only supported parameter
            name to use when identifying data nodes.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-executeoncomputer">
      </a>
      <code class="literal">
       ExecuteOnComputer
      </code>
     </p>
     <a class="indexterm" name="idm46045119929440">
     </a>
     <div class="informaltable">
      <a name="executeoncomputer-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="ExecuteOnComputer data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          name
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          [...]
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          ...
         </td>
        </tr>
        <tr>
         <th>
          Deprecated
         </th>
         <td>
          Yes (in NDB 7.5)
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             System Restart:
            </strong>
           </span>
           Requires a complete shutdown and restart
                    of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      This refers to the
      <code class="literal">
       Id
      </code>
      set for one of the
            computers defined in a
      <code class="literal">
       [computer]
      </code>
      section.
     </p>
     <div class="important" style="margin-left: 0.5in; margin-right: 0.5in;">
      <div class="admon-title">
       Important
      </div>
      <p>
       This parameter is deprecated, and is subject to removal in
              a future release. Use the
       <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-hostname">
        <code class="literal">
         HostName
        </code>
       </a>
       parameter
              instead.
      </p>
     </div>
    </li>
    <li class="listitem">
     <a name="ndbparam-ndbd-dedicated">
     </a>
     <a class="indexterm" name="idm46045119905760">
     </a>
     <p>
     </p>
     <p>
      The node ID for this node can be given out only to
            connections that explicitly request it. A management server
            that requests
      <span class="quote">
       “
       <span class="quote">
        any
       </span>
       ”
      </span>
      node ID cannot use this
            one. This parameter can be used when running multiple
            management servers on the same host, and
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-hostname">
       <code class="literal">
        HostName
       </code>
      </a>
      is not
            sufficient for distinguishing among processes.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-hostname">
      </a>
      <code class="literal">
       HostName
      </code>
     </p>
     <a class="indexterm" name="idm46045119899472">
     </a>
     <div class="informaltable">
      <a name="hostname-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="HostName data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          name or IP address
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          localhost
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          ...
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      Specifying this parameter defines the hostname of the
            computer on which the data node is to reside. Use
      <code class="literal">
       HostName
      </code>
      to specify a host name other
            than
      <code class="literal">
       localhost
      </code>
      .
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-serverport">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-serverport">
       <code class="literal">
        ServerPort
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045119877504">
     </a>
     <div class="informaltable">
      <a name="serverport-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="ServerPort data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          unsigned
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          [...]
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          1 - 64K
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             System Restart:
            </strong>
           </span>
           Requires a complete shutdown and restart
                    of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      Each node in the cluster uses a port to connect to other
            nodes. By default, this port is allocated dynamically in
            such a way as to ensure that no two nodes on the same host
            computer receive the same port number, so it should normally
            not be necessary to specify a value for this parameter.
     </p>
     <p>
      However, if you need to be able to open specific ports in a
            firewall to permit communication between data nodes and API
            nodes (including SQL nodes), you can set this parameter to
            the number of the desired port in an
      <code class="literal">
       [ndbd]
      </code>
      section or (if you need to do this
            for multiple data nodes) the
      <code class="literal">
       [ndbd
            default]
      </code>
      section of the
      <code class="filename">
       config.ini
      </code>
      file, and then open the port
            having that number for incoming connections from SQL nodes,
            API nodes, or both.
     </p>
     <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
      <div class="admon-title">
       Note
      </div>
      <p>
       Connections from data nodes to management nodes is done
              using the
       <a class="link" href="mysql-cluster-programs-ndb-mgmd.html" title="25.5.4 ndb_mgmd — The NDB Cluster Management Server Daemon">
        <span class="command">
         <strong>
          ndb_mgmd
         </strong>
        </span>
       </a>
       management port (the
              management server's
       <a class="link" href="mysql-cluster-mgm-definition.html#ndbparam-mgmd-portnumber">
        <code class="literal">
         PortNumber
        </code>
       </a>
       ) so
              outgoing connections to that port from any data nodes
              should always be permitted.
      </p>
     </div>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-tcpbind_inaddr_any">
      </a>
      <code class="literal">
       TcpBind_INADDR_ANY
      </code>
     </p>
     <p>
      Setting this parameter to
      <code class="literal">
       TRUE
      </code>
      or
      <code class="literal">
       1
      </code>
      binds
      <code class="literal">
       IP_ADDR_ANY
      </code>
      so
            that connections can be made from anywhere (for
            autogenerated connections). The default is
      <code class="literal">
       FALSE
      </code>
      (
      <code class="literal">
       0
      </code>
      ).
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-nodegroup">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-nodegroup">
       <code class="literal">
        NodeGroup
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045119845216">
     </a>
     <div class="informaltable">
      <a name="nodegroup-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="NodeGroup data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          unsigned
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          [...]
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          0 - 65536
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Initial System Restart:
            </strong>
           </span>
           Requires a complete shutdown of the
                    cluster, wiping and restoring the cluster file
                    system from a
           <a class="link" href="mysql-cluster-backup.html" title="25.6.8 Online Backup of NDB Cluster">
            backup
           </a>
           ,
                    and then restarting the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      This parameter can be used to assign a data node to a
            specific node group. It is read only when the cluster is
            started for the first time, and cannot be used to reassign a
            data node to a different node group online. It is generally
            not desirable to use this parameter in the
      <code class="literal">
       [ndbd
            default]
      </code>
      section of the
      <code class="filename">
       config.ini
      </code>
      file, and care must be taken
            not to assign nodes to node groups in such a way that an
            invalid numbers of nodes are assigned to any node groups.
     </p>
     <p>
      The
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-nodegroup">
       <code class="literal">
        NodeGroup
       </code>
      </a>
      parameter is chiefly intended for use in adding a new node
            group to a running NDB Cluster without having to perform a
            rolling restart. For this purpose, you should set it to
            65536 (the maximum value). You are not required to set a
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-nodegroup">
       <code class="literal">
        NodeGroup
       </code>
      </a>
      value for
            all cluster data nodes, only for those nodes which are to be
            started and added to the cluster as a new node group at a
            later time. For more information, see
      <a class="xref" href="mysql-cluster-online-add-node-example.html" title="25.6.7.3 Adding NDB Cluster Data Nodes Online: Detailed Example">
       Section 25.6.7.3, “Adding NDB Cluster Data Nodes Online: Detailed Example”
      </a>
      .
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-locationdomainid">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-locationdomainid">
       <code class="literal">
        LocationDomainId
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045119818624">
     </a>
     <div class="informaltable">
      <a name="locationdomainid-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="LocationDomainId data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          integer
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          0
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          0 - 16
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             System Restart:
            </strong>
           </span>
           Requires a complete shutdown and restart
                    of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      Assigns a data node to a specific
      <a class="ulink" href="https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/regions.htm" target="_blank">
       availability
            domain
      </a>
      (also known as an availability zone) within a
            cloud. By informing
      <code class="literal">
       NDB
      </code>
      which nodes are
            in which availability domains, performance can be improved
            in a cloud environment in the following ways:
     </p>
     <div class="itemizedlist">
      <ul class="itemizedlist" style="list-style-type: circle; ">
       <li class="listitem">
        <p>
         If requested data is not found on the same node, reads
                can be directed to another node in the same availability
                domain.
        </p>
       </li>
       <li class="listitem">
        <p>
         Communication between nodes in different availability
                domains are guaranteed to use
         <code class="literal">
          NDB
         </code>
         transporters' WAN support without any further
                manual intervention.
        </p>
       </li>
       <li class="listitem">
        <p>
         The transporter's group number can be based on
                which availability domain is used, such that also SQL
                and other API nodes communicate with local data nodes in
                the same availability domain whenever possible.
        </p>
       </li>
       <li class="listitem">
        <p>
         The arbitrator can be selected from an availability
                domain in which no data nodes are present, or, if no
                such availability domain can be found, from a third
                availability domain.
        </p>
       </li>
      </ul>
     </div>
     <p>
      <code class="literal">
       LocationDomainId
      </code>
      takes an integer value
            between 0 and 16 inclusive, with 0 being the default; using
            0 is the same as leaving the parameter unset.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-noofreplicas">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-noofreplicas">
       <code class="literal">
        NoOfReplicas
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045119790944">
     </a>
     <div class="informaltable">
      <a name="noofreplicas-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="NoOfReplicas data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          integer
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          2
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          1 - 4
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Initial System Restart:
            </strong>
           </span>
           Requires a complete shutdown of the
                    cluster, wiping and restoring the cluster file
                    system from a
           <a class="link" href="mysql-cluster-backup.html" title="25.6.8 Online Backup of NDB Cluster">
            backup
           </a>
           ,
                    and then restarting the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      This global parameter can be set only in the
      <code class="literal">
       [ndbd
            default]
      </code>
      section, and defines the number of
            fragment replicas for each table stored in the cluster. This
            parameter also specifies the size of node groups. A node
            group is a set of nodes all storing the same information.
     </p>
     <p>
      Node groups are formed implicitly. The first node group is
            formed by the set of data nodes with the lowest node IDs,
            the next node group by the set of the next lowest node
            identities, and so on. By way of example, assume that we
            have 4 data nodes and that
      <code class="literal">
       NoOfReplicas
      </code>
      is set to 2. The four data nodes have node IDs 2, 3, 4 and
            5. Then the first node group is formed from nodes 2 and 3,
            and the second node group by nodes 4 and 5. It is important
            to configure the cluster in such a manner that nodes in the
            same node groups are not placed on the same computer because
            a single hardware failure would cause the entire cluster to
            fail.
     </p>
     <p>
      If no node IDs are provided, the order of the data nodes is
            the determining factor for the node group. Whether or not
            explicit assignments are made, they can be viewed in the
            output of the management client's
      <a class="link" href="mysql-cluster-mgm-client-commands.html#ndbclient-show">
       <code class="literal">
        SHOW
       </code>
      </a>
      command.
     </p>
     <p>
      The default value for
      <code class="literal">
       NoOfReplicas
      </code>
      is 2.
            This is the recommended value for most production
            environments. Setting this parameter's value to 3 or 4
            is also supported.
     </p>
     <div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
      <div class="admon-title">
       Warning
      </div>
      <p>
       Setting
       <code class="literal">
        NoOfReplicas
       </code>
       to 1 means that
              there is only a single copy of all Cluster data; in this
              case, the loss of a single data node causes the cluster to
              fail because there are no additional copies of the data
              stored by that node.
      </p>
     </div>
     <p>
      The number of data nodes in the cluster must be evenly
            divisible by the value of this parameter. For example, if
            there are two data nodes, then
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-noofreplicas">
       <code class="literal">
        NoOfReplicas
       </code>
      </a>
      must be
            equal to either 1 or 2, since 2/3 and 2/4 both yield
            fractional values; if there are four data nodes, then
      <code class="literal">
       NoOfReplicas
      </code>
      must be equal to 1, 2, or 4.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-datadir">
      </a>
      <code class="literal">
       DataDir
      </code>
     </p>
     <a class="indexterm" name="idm46045119760400">
     </a>
     <div class="informaltable">
      <a name="datadir-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="DataDir data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          path
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          .
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          ...
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Initial Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster; each data node must
                    be restarted with
           <a class="link" href="mysql-cluster-programs-ndbd.html#option_ndbd_initial">
            <code class="option">
             --initial
            </code>
           </a>
           . (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      This parameter specifies the directory where trace files,
            log files, pid files and error logs are placed.
     </p>
     <p>
      The default is the data node process working directory.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-filesystempath">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-filesystempath">
       <code class="literal">
        FileSystemPath
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045119738464">
     </a>
     <div class="informaltable">
      <a name="filesystempath-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="FileSystemPath data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          path
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          DataDir
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          ...
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Initial Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster; each data node must
                    be restarted with
           <a class="link" href="mysql-cluster-programs-ndbd.html#option_ndbd_initial">
            <code class="option">
             --initial
            </code>
           </a>
           . (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      This parameter specifies the directory where all files
            created for metadata, REDO logs, UNDO logs (for Disk Data
            tables), and data files are placed. The default is the
            directory specified by
      <code class="literal">
       DataDir
      </code>
      .
     </p>
     <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
      <div class="admon-title">
       Note
      </div>
      <p>
       This directory must exist before the
       <a class="link" href="mysql-cluster-programs-ndbd.html" title="25.5.1 ndbd — The NDB Cluster Data Node Daemon">
        <span class="command">
         <strong>
          ndbd
         </strong>
        </span>
       </a>
       process is initiated.
      </p>
     </div>
     <p>
      The recommended directory hierarchy for NDB Cluster includes
      <code class="filename">
       /var/lib/mysql-cluster
      </code>
      , under which a
            directory for the node's file system is created. The name of
            this subdirectory contains the node ID. For example, if the
            node ID is 2, this subdirectory is named
      <code class="filename">
       ndb_2_fs
      </code>
      .
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-backupdatadir">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-backupdatadir">
       <code class="literal">
        BackupDataDir
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045119711920">
     </a>
     <div class="informaltable">
      <a name="backupdatadir-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="BackupDataDir data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          path
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          FileSystemPath
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          ...
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Initial Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster; each data node must
                    be restarted with
           <a class="link" href="mysql-cluster-programs-ndbd.html#option_ndbd_initial">
            <code class="option">
             --initial
            </code>
           </a>
           . (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      This parameter specifies the directory in which backups are
            placed.
     </p>
     <div class="important" style="margin-left: 0.5in; margin-right: 0.5in;">
      <div class="admon-title">
       Important
      </div>
      <p>
       The string '
       <code class="literal">
        /BACKUP
       </code>
       ' is always appended
              to this value. For example, if you set the value of
       <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-backupdatadir">
        <code class="literal">
         BackupDataDir
        </code>
       </a>
       to
       <code class="filename">
        /var/lib/cluster-data
       </code>
       , then all
              backups are stored under
       <code class="filename">
        /var/lib/cluster-data/BACKUP
       </code>
       . This
              also means that the
       <span class="emphasis">
        <em>
         effective
        </em>
       </span>
       default
              backup location is the directory named
       <code class="filename">
        BACKUP
       </code>
       under the location specified
              by the
       <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-filesystempath">
        <code class="literal">
         FileSystemPath
        </code>
       </a>
       parameter.
      </p>
     </div>
    </li>
   </ul>
  </div>
  <h5>
   <a name="mysql-cluster-data-memory-index-memory-string-memory">
   </a>
   Data Memory, Index Memory, and String Memory
  </h5>
  <p>
   <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-datamemory">
    <code class="literal">
     DataMemory
    </code>
   </a>
   and
   <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-indexmemory">
    <code class="literal">
     IndexMemory
    </code>
   </a>
   are
   <code class="literal">
    [ndbd]
   </code>
   parameters specifying the size of
        memory segments used to store the actual records and their
        indexes. In setting values for these, it is important to
        understand how
   <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-datamemory">
    <code class="literal">
     DataMemory
    </code>
   </a>
   is used, as
        it usually needs to be updated to reflect actual usage by the
        cluster.
  </p>
  <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
   <div class="admon-title">
    Note
   </div>
   <p>
    <code class="literal">
     IndexMemory
    </code>
    is deprecated, and subject to
          removal in a future version of NDB Cluster. See the
          descriptions that follow for further information.
   </p>
  </div>
  <div class="itemizedlist">
   <ul class="itemizedlist" style="list-style-type: disc; ">
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-datamemory">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-datamemory">
       <code class="literal">
        DataMemory
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045119675104">
     </a>
     <div class="informaltable">
      <a name="datamemory-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="DataMemory data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          bytes
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          98M
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          1M - 16T
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      This parameter defines the amount of space (in bytes)
            available for storing database records. The entire amount
            specified by this value is allocated in memory, so it is
            extremely important that the machine has sufficient physical
            memory to accommodate it.
     </p>
     <p>
      The memory allocated by
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-datamemory">
       <code class="literal">
        DataMemory
       </code>
      </a>
      is used
            to store both the actual records and indexes. There is a
            16-byte overhead on each record; an additional amount for
            each record is incurred because it is stored in a 32KB page
            with 128 byte page overhead (see below). There is also a
            small amount wasted per page due to the fact that each
            record is stored in only one page.
     </p>
     <p>
      For variable-size table attributes, the data is stored on
            separate data pages, allocated from
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-datamemory">
       <code class="literal">
        DataMemory
       </code>
      </a>
      .
            Variable-length records use a fixed-size part with an extra
            overhead of 4 bytes to reference the variable-size part. The
            variable-size part has 2 bytes overhead plus 2 bytes per
            attribute.
     </p>
     <p>
      The maximum record size is 30000 bytes.
     </p>
     <p>
      Resources assigned to
      <code class="literal">
       DataMemory
      </code>
      are used
            for storing all data and indexes. (Any memory configured as
      <code class="literal">
       IndexMemory
      </code>
      is automatically added to
            that used by
      <code class="literal">
       DataMemory
      </code>
      to form a common
            resource pool.)
     </p>
     <p>
      The memory space allocated by
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-datamemory">
       <code class="literal">
        DataMemory
       </code>
      </a>
      consists
            of 32KB pages, which are allocated to table fragments. Each
            table is normally partitioned into the same number of
            fragments as there are data nodes in the cluster. Thus, for
            each node, there are the same number of fragments as are set
            in
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-noofreplicas">
       <code class="literal">
        NoOfReplicas
       </code>
      </a>
      .
     </p>
     <p>
      Once a page has been allocated, it is currently not possible
            to return it to the pool of free pages, except by deleting
            the table. (This also means that
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-datamemory">
       <code class="literal">
        DataMemory
       </code>
      </a>
      pages,
            once allocated to a given table, cannot be used by other
            tables.) Performing a data node recovery also compresses the
            partition because all records are inserted into empty
            partitions from other live nodes.
     </p>
     <a class="indexterm" name="idm46045119643344">
     </a>
     <p>
      The
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-datamemory">
       <code class="literal">
        DataMemory
       </code>
      </a>
      memory space also contains UNDO information: For each
            update, a copy of the unaltered record is allocated in the
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-datamemory">
       <code class="literal">
        DataMemory
       </code>
      </a>
      . There is
            also a reference to each copy in the ordered table indexes.
            Unique hash indexes are updated only when the unique index
            columns are updated, in which case a new entry in the index
            table is inserted and the old entry is deleted upon commit.
            For this reason, it is also necessary to allocate enough
            memory to handle the largest transactions performed by
            applications using the cluster. In any case, performing a
            few large transactions holds no advantage over using many
            smaller ones, for the following reasons:
     </p>
     <div class="itemizedlist">
      <ul class="itemizedlist" style="list-style-type: circle; ">
       <li class="listitem">
        <p>
         Large transactions are not any faster than smaller ones
        </p>
       </li>
       <li class="listitem">
        <p>
         Large transactions increase the number of operations
                that are lost and must be repeated in event of
                transaction failure
        </p>
       </li>
       <li class="listitem">
        <p>
         Large transactions use more memory
        </p>
       </li>
      </ul>
     </div>
     <p>
      The default value for
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-datamemory">
       <code class="literal">
        DataMemory
       </code>
      </a>
      is 98MB.
            The minimum value is 1MB. There is no maximum size, but in
            reality the maximum size has to be adapted so that the
            process does not start swapping when the limit is reached.
            This limit is determined by the amount of physical RAM
            available on the machine and by the amount of memory that
            the operating system may commit to any one process. 32-bit
            operating systems are generally limited to 2−4GB per
            process; 64-bit operating systems can use more. For large
            databases, it may be preferable to use a 64-bit operating
            system for this reason.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-indexmemory">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-indexmemory">
       <code class="literal">
        IndexMemory
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045119629008">
     </a>
     <div class="informaltable">
      <a name="indexmemory-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="IndexMemory data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          bytes
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          0
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          1M - 1T
         </td>
        </tr>
        <tr>
         <th>
          Deprecated
         </th>
         <td>
          Yes (in NDB 7.6)
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      The
      <code class="literal">
       IndexMemory
      </code>
      parameter is deprecated
            (and subject to future removal); any memory assigned to
      <code class="literal">
       IndexMemory
      </code>
      is allocated instead to the
            same pool as
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-datamemory">
       <code class="literal">
        DataMemory
       </code>
      </a>
      , which is
            solely responsible for all resources needed for storing data
            and indexes in memory. In NDB 8.4, the use of
      <code class="literal">
       IndexMemory
      </code>
      in the cluster configuration
            file triggers a warning from the management server.
     </p>
     <p>
      You can estimate the size of a hash index using this
            formula:
     </p>
     <div class="copytoclipboard-wrapper">
      <pre class="programlisting language-simple"><div class="docs-select-all right" id="sa22135700"><div class="copy-help left">Press ⌘+C to copy</div> <div class="right"><button class="clipboard-btn" title="Copy to Clipboard"><span class="icon-clipboard"></span></button></div></div><code class="language-simple">  size  <span class="token operator">=</span> <span class="token punctuation">(</span> <span class="token punctuation">(</span><em class="replaceable">fragments</em> <span class="token operator">*</span> 32K<span class="token punctuation">)</span> <span class="token operator">+</span> <span class="token punctuation">(</span><em class="replaceable">rows</em> <span class="token operator">*</span> 18<span class="token punctuation">)</span> <span class="token punctuation">)</span>
          <span class="token operator">*</span> <em class="replaceable">fragment_replicas</em></code></pre>
     </div>
     <p>
      <em class="replaceable">
       <code>
        fragments
       </code>
      </em>
      is the number of
            fragments,
      <em class="replaceable">
       <code>
        fragment_replicas
       </code>
      </em>
      is
            the number of fragment replicas (normally 2), and
      <em class="replaceable">
       <code>
        rows
       </code>
      </em>
      is the number of rows. If a
            table has one million rows, eight fragments, and two
            fragment replicas, the expected index memory usage is
            calculated as shown here:
     </p>
     <div class="copytoclipboard-wrapper">
      <pre class="programlisting language-simple"><div class="docs-select-all right" id="sa80186024"><div class="copy-help left">Press ⌘+C to copy</div> <div class="right"><button class="clipboard-btn" title="Copy to Clipboard"><span class="icon-clipboard"></span></button></div></div><code class="language-simple">  <span class="token punctuation">(</span><span class="token punctuation">(</span>8 <span class="token operator">*</span> 32K<span class="token punctuation">)</span> <span class="token operator">+</span> <span class="token punctuation">(</span>1000000 <span class="token operator">*</span> 18<span class="token punctuation">)</span><span class="token punctuation">)</span> <span class="token operator">*</span> 2 <span class="token operator">=</span> <span class="token punctuation">(</span><span class="token punctuation">(</span>8 <span class="token operator">*</span> 32768<span class="token punctuation">)</span> <span class="token operator">+</span> <span class="token punctuation">(</span>1000000 <span class="token operator">*</span> 18<span class="token punctuation">)</span><span class="token punctuation">)</span> <span class="token operator">*</span> 2
  <span class="token operator">=</span> <span class="token punctuation">(</span>262144 <span class="token operator">+</span> 18000000<span class="token punctuation">)</span> <span class="token operator">*</span> 2
  <span class="token operator">=</span> 18262144 <span class="token operator">*</span> 2 <span class="token operator">=</span> 36524288 bytes <span class="token operator">=</span> <span class="token operator">~</span>35MB</code></pre>
     </div>
     <p>
      Index statistics for ordered indexes (when these are
            enabled) are stored in the
      <code class="literal">
       mysql.ndb_index_stat_sample
      </code>
      table. Since
            this table has a hash index, this adds to index memory
            usage. An upper bound to the number of rows for a given
            ordered index can be calculated as follows:
     </p>
     <div class="copytoclipboard-wrapper">
      <pre class="programlisting language-simple"><div class="docs-select-all right" id="sa28190205"><div class="copy-help left">Press ⌘+C to copy</div> <div class="right"><button class="clipboard-btn" title="Copy to Clipboard"><span class="icon-clipboard"></span></button></div></div><code class="language-simple">  sample_size<span class="token operator">=</span> key_size <span class="token operator">+</span> <span class="token punctuation">(</span><span class="token punctuation">(</span>key_attributes <span class="token operator">+</span> 1<span class="token punctuation">)</span> <span class="token operator">*</span> 4<span class="token punctuation">)</span>

  sample_rows <span class="token operator">=</span> IndexStatSaveSize
                <span class="token operator">*</span> <span class="token punctuation">(</span><span class="token punctuation">(</span>0<span class="token punctuation">.</span>01 <span class="token operator">*</span> IndexStatSaveScale <span class="token operator">*</span> log2<span class="token punctuation">(</span>rows <span class="token operator">*</span> sample_size<span class="token punctuation">)</span><span class="token punctuation">)</span> <span class="token operator">+</span> 1<span class="token punctuation">)</span>
                <span class="token operator">/</span> sample_size</code></pre>
     </div>
     <p>
      In the preceding formula,
      <em class="replaceable">
       <code>
        key_size
       </code>
      </em>
      is the size of the
            ordered index key in bytes,
      <em class="replaceable">
       <code>
        key_attributes
       </code>
      </em>
      is the number of
            attributes in the ordered index key, and
      <em class="replaceable">
       <code>
        rows
       </code>
      </em>
      is the number of rows in the
            base table.
     </p>
     <p>
      Assume that table
      <code class="literal">
       t1
      </code>
      has 1 million rows
            and an ordered index named
      <code class="literal">
       ix1
      </code>
      on two
            four-byte integers. Assume in addition that
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-indexstatsavesize">
       <code class="literal">
        IndexStatSaveSize
       </code>
      </a>
      and
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-indexstatsavescale">
       <code class="literal">
        IndexStatSaveScale
       </code>
      </a>
      are set to their default values (32K and 100, respectively).
            Using the previous 2 formulas, we can calculate as follows:
     </p>
     <div class="copytoclipboard-wrapper">
      <pre class="programlisting language-simple"><div class="docs-select-all right" id="sa16453919"><div class="copy-help left">Press ⌘+C to copy</div> <div class="right"><button class="clipboard-btn" title="Copy to Clipboard"><span class="icon-clipboard"></span></button></div></div><code class="language-simple">  sample_size <span class="token operator">=</span> 8  <span class="token operator">+</span> <span class="token punctuation">(</span><span class="token punctuation">(</span>1 <span class="token operator">+</span> 2<span class="token punctuation">)</span> <span class="token operator">*</span> 4<span class="token punctuation">)</span> <span class="token operator">=</span> 20 bytes

  sample_rows <span class="token operator">=</span> 32K
                <span class="token operator">*</span> <span class="token punctuation">(</span><span class="token punctuation">(</span>0<span class="token punctuation">.</span>01 <span class="token operator">*</span> 100 <span class="token operator">*</span> log2<span class="token punctuation">(</span>1000000<span class="token operator">*</span>20<span class="token punctuation">)</span><span class="token punctuation">)</span> <span class="token operator">+</span> 1<span class="token punctuation">)</span>
                <span class="token operator">/</span> 20
                <span class="token operator">=</span> 32768 <span class="token operator">*</span> <span class="token punctuation">(</span> <span class="token punctuation">(</span>1 <span class="token operator">*</span> <span class="token operator">~</span>16<span class="token punctuation">.</span>811<span class="token punctuation">)</span> <span class="token operator">+</span>1<span class="token punctuation">)</span> <span class="token operator">/</span> 20
                <span class="token operator">=</span> 32768 <span class="token operator">*</span> <span class="token operator">~</span>17<span class="token punctuation">.</span>811 <span class="token operator">/</span> 20
                <span class="token operator">=</span> <span class="token operator">~</span>29182 rows</code></pre>
     </div>
     <p>
      The expected index memory usage is thus 2 * 18 * 29182 =
            ~1050550 bytes.
     </p>
     <p>
      The minimum and default value for this parameter is 0
            (zero).
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-stringmemory">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-stringmemory">
       <code class="literal">
        StringMemory
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045119581248">
     </a>
     <div class="informaltable">
      <a name="stringmemory-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="StringMemory data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          % or bytes
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          25
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          0 - 4294967039 (0xFFFFFEFF)
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             System Restart:
            </strong>
           </span>
           Requires a complete shutdown and restart
                    of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      This parameter determines how much memory is allocated for
            strings such as table names, and is specified in an
      <code class="literal">
       [ndbd]
      </code>
      or
      <code class="literal">
       [ndbd
            default]
      </code>
      section of the
      <code class="filename">
       config.ini
      </code>
      file. A value between
      <code class="literal">
       0
      </code>
      and
      <code class="literal">
       100
      </code>
      inclusive is
            interpreted as a percent of the maximum default value, which
            is calculated based on a number of factors including the
            number of tables, maximum table name size, maximum size of
      <code class="filename">
       .FRM
      </code>
      files,
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-maxnooftriggers">
       <code class="literal">
        MaxNoOfTriggers
       </code>
      </a>
      ,
            maximum column name size, and maximum default column value.
     </p>
     <p>
      A value greater than
      <code class="literal">
       100
      </code>
      is interpreted
            as a number of bytes.
     </p>
     <p>
      The default value is 25—that is, 25 percent of the
            default maximum.
     </p>
     <p>
      Under most circumstances, the default value should be
            sufficient, but when you have a great many
      <code class="literal">
       NDB
      </code>
      tables (1000 or more), it is possible
            to get Error 773
      <span class="errortext">
       Out of string memory, please
            modify StringMemory config parameter: Permanent error:
            Schema error
      </span>
      , in which case you should increase
            this value.
      <code class="literal">
       25
      </code>
      (25 percent) is not
            excessive, and should prevent this error from recurring in
            all but the most extreme conditions.
     </p>
    </li>
   </ul>
  </div>
  <p>
   The following example illustrates how memory is used for a
        table. Consider this table definition:
  </p>
  <div class="copytoclipboard-wrapper">
   <pre class="programlisting language-sql"><div class="docs-select-all right" id="sa446718"><div class="copy-help left">Press ⌘+C to copy</div> <div class="right"><button class="clipboard-btn" title="Copy to Clipboard"><span class="icon-clipboard"></span></button></div></div><code class="language-sql"><span class="token keyword">CREATE</span> <span class="token keyword">TABLE</span> example <span class="token punctuation">(</span>
  a <span class="token datatype">INT</span> <span class="token operator">NOT</span> <span class="token boolean">NULL</span><span class="token punctuation">,</span>
  b <span class="token datatype">INT</span> <span class="token operator">NOT</span> <span class="token boolean">NULL</span><span class="token punctuation">,</span>
  c <span class="token datatype">INT</span> <span class="token operator">NOT</span> <span class="token boolean">NULL</span><span class="token punctuation">,</span>
  <span class="token keyword">PRIMARY</span> <span class="token keyword">KEY</span><span class="token punctuation">(</span>a<span class="token punctuation">)</span><span class="token punctuation">,</span>
  <span class="token keyword">UNIQUE</span><span class="token punctuation">(</span>b<span class="token punctuation">)</span>
<span class="token punctuation">)</span> <span class="token keyword">ENGINE</span><span class="token operator">=</span><span class="token keyword">NDBCLUSTER</span><span class="token punctuation">;</span></code></pre>
  </div>
  <p>
   For each record, there are 12 bytes of data plus 12 bytes
        overhead. Having no nullable columns saves 4 bytes of overhead.
        In addition, we have two ordered indexes on columns
   <code class="literal">
    a
   </code>
   and
   <code class="literal">
    b
   </code>
   consuming roughly
        10 bytes each per record. There is a primary key hash index on
        the base table using roughly 29 bytes per record. The unique
        constraint is implemented by a separate table with
   <code class="literal">
    b
   </code>
   as primary key and
   <code class="literal">
    a
   </code>
   as
        a column. This other table consumes an additional 29 bytes of
        index memory per record in the
   <code class="literal">
    example
   </code>
   table
        as well 8 bytes of record data plus 12 bytes of overhead.
  </p>
  <p>
   Thus, for one million records, we need 58MB for index memory to
        handle the hash indexes for the primary key and the unique
        constraint. We also need 64MB for the records of the base table
        and the unique index table, plus the two ordered index tables.
  </p>
  <p>
   You can see that hash indexes takes up a fair amount of memory
        space; however, they provide very fast access to the data in
        return. They are also used in NDB Cluster to handle uniqueness
        constraints.
  </p>
  <p>
   Currently, the only partitioning algorithm is hashing and
        ordered indexes are local to each node. Thus, ordered indexes
        cannot be used to handle uniqueness constraints in the general
        case.
  </p>
  <p>
   An important point for both
   <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-indexmemory">
    <code class="literal">
     IndexMemory
    </code>
   </a>
   and
   <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-datamemory">
    <code class="literal">
     DataMemory
    </code>
   </a>
   is that the
        total database size is the sum of all data memory and all index
        memory for each node group. Each node group is used to store
        replicated information, so if there are four nodes with two
        fragment replicas, there are two node groups. Thus, the total
        data memory available is 2 ×
   <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-datamemory">
    <code class="literal">
     DataMemory
    </code>
   </a>
   for each data
        node.
  </p>
  <p>
   It is highly recommended that
   <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-datamemory">
    <code class="literal">
     DataMemory
    </code>
   </a>
   and
   <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-indexmemory">
    <code class="literal">
     IndexMemory
    </code>
   </a>
   be set to
        the same values for all nodes. Data distribution is even over
        all nodes in the cluster, so the maximum amount of space
        available for any node can be no greater than that of the
        smallest node in the cluster.
  </p>
  <p>
   <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-datamemory">
    <code class="literal">
     DataMemory
    </code>
   </a>
   can be
        changed, but decreasing it can be risky; doing so can easily
        lead to a node or even an entire NDB Cluster that is unable to
        restart due to there being insufficient memory space. Increasing
        these values should be acceptable, but it is recommended that
        such upgrades are performed in the same manner as a software
        upgrade, beginning with an update of the configuration file, and
        then restarting the management server followed by restarting
        each data node in turn.
  </p>
  <p>
   <a name="ndbparam-ndbd-minfreepct">
   </a>
   <b>
    MinFreePct.
   </b>
   <a class="indexterm" name="idm46045119533824">
   </a>
   A proportion (5% by default) of data node resources including
   <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-datamemory">
    <code class="literal">
     DataMemory
    </code>
   </a>
   is kept in
          reserve to insure that the data node does not exhaust its
          memory when performing a restart. This can be adjusted using
          the
   <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-minfreepct" title="MinFreePct">
    <code class="literal">
     MinFreePct
    </code>
   </a>
   data
          node configuration parameter (default 5).
  </p>
  <div class="informaltable">
   <a name="minfreepct-ndbd-table">
   </a>
   <table frame="box" rules="all" summary="MinFreePct data node configuration parameter type and value information" width="35%">
    <colgroup>
     <col style="width: 50%"/>
     <col style="width: 50%"/>
    </colgroup>
    <tbody>
     <tr>
      <th>
       Version (or later)
      </th>
      <td>
       NDB 8.4.0
      </td>
     </tr>
     <tr>
      <th>
       Type or units
      </th>
      <td>
       unsigned
      </td>
     </tr>
     <tr>
      <th>
       Default
      </th>
      <td>
       5
      </td>
     </tr>
     <tr>
      <th>
       Range
      </th>
      <td>
       0 - 100
      </td>
     </tr>
     <tr>
      <th>
       Restart Type
      </th>
      <td>
       <p>
        <span class="bold">
         <strong>
          Node Restart:
         </strong>
        </span>
        Requires
                a
        <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
         rolling
                restart
        </a>
        of the cluster. (NDB 8.4.0)
       </p>
      </td>
     </tr>
    </tbody>
   </table>
  </div>
  <p>
   Updates do not increase the amount of index memory used. Inserts
        take effect immediately; however, rows are not actually deleted
        until the transaction is committed.
  </p>
  <p>
   <a name="mysql-cluster-transaction-parameters">
   </a>
   <b>
    Transaction parameters.
   </b>
   The next few
   <code class="literal">
    [ndbd]
   </code>
   parameters that we
          discuss are important because they affect the number of
          parallel transactions and the sizes of transactions that can
          be handled by the system.
   <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-maxnoofconcurrenttransactions">
    <code class="literal">
     MaxNoOfConcurrentTransactions
    </code>
   </a>
   sets the number of parallel transactions possible in a node.
   <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-maxnoofconcurrentoperations">
    <code class="literal">
     MaxNoOfConcurrentOperations
    </code>
   </a>
   sets the number of records that can be in update phase or
          locked simultaneously.
  </p>
  <p>
   Both of these parameters (especially
   <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-maxnoofconcurrentoperations">
    <code class="literal">
     MaxNoOfConcurrentOperations
    </code>
   </a>
   )
        are likely targets for users setting specific values and not
        using the default value. The default value is set for systems
        using small transactions, to ensure that these do not use
        excessive memory.
  </p>
  <p>
   <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-maxdmloperationspertransaction">
    <code class="literal">
     MaxDMLOperationsPerTransaction
    </code>
   </a>
   sets the maximum number of DML operations that can be performed
        in a given transaction.
  </p>
  <div class="itemizedlist">
   <ul class="itemizedlist" style="list-style-type: disc; ">
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-maxnoofconcurrenttransactions">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-maxnoofconcurrenttransactions">
       <code class="literal">
        MaxNoOfConcurrentTransactions
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045119500832">
     </a>
     <div class="informaltable">
      <a name="maxnoofconcurrenttransactions-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="MaxNoOfConcurrentTransactions data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          integer
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          4096
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          32 - 4294967039 (0xFFFFFEFF)
         </td>
        </tr>
        <tr>
         <th>
          Deprecated
         </th>
         <td>
          Yes (in NDB 8.0)
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      Each cluster data node requires a transaction record for
            each active transaction in the cluster. The task of
            coordinating transactions is distributed among all of the
            data nodes. The total number of transaction records in the
            cluster is the number of transactions in any given node
            times the number of nodes in the cluster.
     </p>
     <p>
      Transaction records are allocated to individual MySQL
            servers. Each connection to a MySQL server requires at least
            one transaction record, plus an additional transaction
            object per table accessed by that connection. This means
            that a reasonable minimum for the total number of
            transactions in the cluster can be expressed as
     </p>
     <div class="copytoclipboard-wrapper">
      <pre class="programlisting language-simple"><div class="docs-select-all right" id="sa23215414"><div class="copy-help left">Press ⌘+C to copy</div> <div class="right"><button class="clipboard-btn" title="Copy to Clipboard"><span class="icon-clipboard"></span></button></div></div><code class="language-simple">TotalNoOfConcurrentTransactions <span class="token operator">=</span>
    <span class="token punctuation">(</span>maximum number of tables accessed in any single transaction <span class="token operator">+</span> 1<span class="token punctuation">)</span>
    <span class="token operator">*</span> number of SQL nodes</code></pre>
     </div>
     <p>
      Suppose that there are 10 SQL nodes using the cluster. A
            single join involving 10 tables requires 11 transaction
            records; if there are 10 such joins in a transaction, then
            10 * 11 = 110 transaction records are required for this
            transaction, per MySQL server, or 110 * 10 = 1100
            transaction records total. Each data node can be expected to
            handle TotalNoOfConcurrentTransactions / number of data
            nodes. For an NDB Cluster having 4 data nodes, this would
            mean setting
      <code class="literal">
       MaxNoOfConcurrentTransactions
      </code>
      on each
            data node to 1100 / 4 = 275. In addition, you should provide
            for failure recovery by ensuring that a single node group
            can accommodate all concurrent transactions; in other words,
            that each data node's MaxNoOfConcurrentTransactions is
            sufficient to cover a number of transactions equal to
            TotalNoOfConcurrentTransactions / number of node groups. If
            this cluster has a single node group, then
      <code class="literal">
       MaxNoOfConcurrentTransactions
      </code>
      should be
            set to 1100 (the same as the total number of concurrent
            transactions for the entire cluster).
     </p>
     <p>
      In addition, each transaction involves at least one
            operation; for this reason, the value set for
      <code class="literal">
       MaxNoOfConcurrentTransactions
      </code>
      should
            always be no more than the value of
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-maxnoofconcurrentoperations">
       <code class="literal">
        MaxNoOfConcurrentOperations
       </code>
      </a>
      .
     </p>
     <p>
      This parameter must be set to the same value for all cluster
            data nodes. This is due to the fact that, when a data node
            fails, the oldest surviving node re-creates the transaction
            state of all transactions that were ongoing in the failed
            node.
     </p>
     <p>
      It is possible to change this value using a rolling restart,
            but the amount of traffic on the cluster must be such that
            no more transactions occur than the lower of the old and new
            levels while this is taking place.
     </p>
     <p>
      The default value is 4096.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-maxnoofconcurrentoperations">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-maxnoofconcurrentoperations">
       <code class="literal">
        MaxNoOfConcurrentOperations
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045119468240">
     </a>
     <div class="informaltable">
      <a name="maxnoofconcurrentoperations-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="MaxNoOfConcurrentOperations data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          integer
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          32K
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          32 - 4294967039 (0xFFFFFEFF)
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      It is a good idea to adjust the value of this parameter
            according to the size and number of transactions. When
            performing transactions which involve only a few operations
            and records, the default value for this parameter is usually
            sufficient. Performing large transactions involving many
            records usually requires that you increase its value.
     </p>
     <p>
      Records are kept for each transaction updating cluster data,
            both in the transaction coordinator and in the nodes where
            the actual updates are performed. These records contain
            state information needed to find UNDO records for rollback,
            lock queues, and other purposes.
     </p>
     <p>
      This parameter should be set at a minimum to the number of
            records to be updated simultaneously in transactions,
            divided by the number of cluster data nodes. For example, in
            a cluster which has four data nodes and which is expected to
            handle one million concurrent updates using transactions,
            you should set this value to 1000000 / 4 = 250000. To help
            provide resiliency against failures, it is suggested that
            you set this parameter to a value that is high enough to
            permit an individual data node to handle the load for its
            node group. In other words, you should set the value equal
            to
      <code class="literal">
       total number of concurrent operations / number
            of node groups
      </code>
      . (In the case where there is a
            single node group, this is the same as the total number of
            concurrent operations for the entire cluster.)
     </p>
     <p>
      Because each transaction always involves at least one
            operation, the value of
      <code class="literal">
       MaxNoOfConcurrentOperations
      </code>
      should always
            be greater than or equal to the value of
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-maxnoofconcurrenttransactions">
       <code class="literal">
        MaxNoOfConcurrentTransactions
       </code>
      </a>
      .
     </p>
     <p>
      Read queries which set locks also cause operation records to
            be created. Some extra space is allocated within individual
            nodes to accommodate cases where the distribution is not
            perfect over the nodes.
     </p>
     <p>
      When queries make use of the unique hash index, there are
            actually two operation records used per record in the
            transaction. The first record represents the read in the
            index table and the second handles the operation on the base
            table.
     </p>
     <p>
      The default value is 32768.
     </p>
     <p>
      This parameter actually handles two values that can be
            configured separately. The first of these specifies how many
            operation records are to be placed with the transaction
            coordinator. The second part specifies how many operation
            records are to be local to the database.
     </p>
     <p>
      A very large transaction performed on an eight-node cluster
            requires as many operation records in the transaction
            coordinator as there are reads, updates, and deletes
            involved in the transaction. However, the operation records
            of the are spread over all eight nodes. Thus, if it is
            necessary to configure the system for one very large
            transaction, it is a good idea to configure the two parts
            separately.
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-maxnoofconcurrentoperations">
       <code class="literal">
        MaxNoOfConcurrentOperations
       </code>
      </a>
      is always used to calculate the number of operation records
            in the transaction coordinator portion of the node.
     </p>
     <p>
      It is also important to have an idea of the memory
            requirements for operation records. These consume about 1KB
            per record.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-maxnooflocaloperations">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-maxnooflocaloperations">
       <code class="literal">
        MaxNoOfLocalOperations
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045119436592">
     </a>
     <div class="informaltable">
      <a name="maxnooflocaloperations-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="MaxNoOfLocalOperations data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          integer
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          UNDEFINED
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          32 - 4294967039 (0xFFFFFEFF)
         </td>
        </tr>
        <tr>
         <th>
          Deprecated
         </th>
         <td>
          Yes (in NDB 8.0)
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      By default, this parameter is calculated as 1.1 ×
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-maxnoofconcurrentoperations">
       <code class="literal">
        MaxNoOfConcurrentOperations
       </code>
      </a>
      .
            This fits systems with many simultaneous transactions, none
            of them being very large. If there is a need to handle one
            very large transaction at a time and there are many nodes,
            it is a good idea to override the default value by
            explicitly specifying this parameter.
     </p>
     <p>
      This parameter is deprecated and subject to removal in a
            future NDB Cluster release. In addition, this parameter is
            incompatible with the
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-transactionmemory">
       <code class="literal">
        TransactionMemory
       </code>
      </a>
      parameter; if you try to set values for both parameters in
            the cluster configuration file
            (
      <code class="filename">
       config.ini
      </code>
      ), the management server
            refuses to start.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-maxdmloperationspertransaction">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-maxdmloperationspertransaction">
       <code class="literal">
        MaxDMLOperationsPerTransaction
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045119409392">
     </a>
     <div class="informaltable">
      <a name="maxdmloperationspertransaction-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="MaxDMLOperationsPerTransaction data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          operations (DML)
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          4294967295
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          32 - 4294967295
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      This parameter limits the size of a transaction. The
            transaction is aborted if it requires more than this many
            DML operations.
     </p>
     <p>
      The value of this parameter cannot exceed that set for
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-maxnoofconcurrentoperations">
       <code class="literal">
        MaxNoOfConcurrentOperations
       </code>
      </a>
      .
     </p>
    </li>
   </ul>
  </div>
  <p>
   <a name="mysql-cluster-transaction-temporary-storage">
   </a>
   <b>
    Transaction temporary storage.
   </b>
   The next set of
   <code class="literal">
    [ndbd]
   </code>
   parameters is used
          to determine temporary storage when executing a statement that
          is part of a Cluster transaction. All records are released
          when the statement is completed and the cluster is waiting for
          the commit or rollback.
  </p>
  <p>
   The default values for these parameters are adequate for most
        situations. However, users with a need to support transactions
        involving large numbers of rows or operations may need to
        increase these values to enable better parallelism in the
        system, whereas users whose applications require relatively
        small transactions can decrease the values to save memory.
  </p>
  <div class="itemizedlist">
   <ul class="itemizedlist" style="list-style-type: disc; ">
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-maxnoofconcurrentindexoperations">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-maxnoofconcurrentindexoperations">
       <code class="literal">
        MaxNoOfConcurrentIndexOperations
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045119383056">
     </a>
     <div class="informaltable">
      <a name="maxnoofconcurrentindexoperations-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="MaxNoOfConcurrentIndexOperations data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          integer
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          8K
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          0 - 4294967039 (0xFFFFFEFF)
         </td>
        </tr>
        <tr>
         <th>
          Deprecated
         </th>
         <td>
          Yes (in NDB 8.0)
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      For queries using a unique hash index, another temporary set
            of operation records is used during a query's execution
            phase. This parameter sets the size of that pool of records.
            Thus, this record is allocated only while executing a part
            of a query. As soon as this part has been executed, the
            record is released. The state needed to handle aborts and
            commits is handled by the normal operation records, where
            the pool size is set by the parameter
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-maxnoofconcurrentoperations">
       <code class="literal">
        MaxNoOfConcurrentOperations
       </code>
      </a>
      .
     </p>
     <p>
      The default value of this parameter is 8192. Only in rare
            cases of extremely high parallelism using unique hash
            indexes should it be necessary to increase this value. Using
            a smaller value is possible and can save memory if the DBA
            is certain that a high degree of parallelism is not required
            for the cluster.
     </p>
     <p>
      This parameter is deprecated and subject to removal in a
            future NDB Cluster release. In addition, this parameter is
            incompatible with the
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-transactionmemory">
       <code class="literal">
        TransactionMemory
       </code>
      </a>
      parameter; if you try to set values for both parameters in
            the cluster configuration file
            (
      <code class="filename">
       config.ini
      </code>
      ), the management server
            refuses to start.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-maxnooffiredtriggers">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-maxnooffiredtriggers">
       <code class="literal">
        MaxNoOfFiredTriggers
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045119354736">
     </a>
     <div class="informaltable">
      <a name="maxnooffiredtriggers-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="MaxNoOfFiredTriggers data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          integer
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          4000
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          0 - 4294967039 (0xFFFFFEFF)
         </td>
        </tr>
        <tr>
         <th>
          Deprecated
         </th>
         <td>
          Yes (in NDB 8.0)
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      The default value of
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-maxnooffiredtriggers">
       <code class="literal">
        MaxNoOfFiredTriggers
       </code>
      </a>
      is 4000, which is sufficient for most situations. In some
            cases it can even be decreased if the DBA feels certain the
            need for parallelism in the cluster is not high.
     </p>
     <p>
      A record is created when an operation is performed that
            affects a unique hash index. Inserting or deleting a record
            in a table with unique hash indexes or updating a column
            that is part of a unique hash index fires an insert or a
            delete in the index table. The resulting record is used to
            represent this index table operation while waiting for the
            original operation that fired it to complete. This operation
            is short-lived but can still require a large number of
            records in its pool for situations with many parallel write
            operations on a base table containing a set of unique hash
            indexes.
     </p>
     <p>
      This parameter is deprecated and subject to removal in a
            future NDB Cluster release. In addition, this parameter is
            incompatible with the
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-transactionmemory">
       <code class="literal">
        TransactionMemory
       </code>
      </a>
      parameter; if you try to set values for both parameters in
            the cluster configuration file
            (
      <code class="filename">
       config.ini
      </code>
      ), the management server
            refuses to start.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-transactionbuffermemory">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-transactionbuffermemory">
       <code class="literal">
        TransactionBufferMemory
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045119326784">
     </a>
     <div class="informaltable">
      <a name="transactionbuffermemory-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="TransactionBufferMemory data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          bytes
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          1M
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          1K - 4294967039 (0xFFFFFEFF)
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      The memory affected by this parameter is used for tracking
            operations fired when updating index tables and reading
            unique indexes. This memory is used to store the key and
            column information for these operations. It is only very
            rarely that the value for this parameter needs to be altered
            from the default.
     </p>
     <p>
      The default value for
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-transactionbuffermemory">
       <code class="literal">
        TransactionBufferMemory
       </code>
      </a>
      is 1MB.
     </p>
     <p>
      Normal read and write operations use a similar buffer, whose
            usage is even more short-lived. The compile-time parameter
      <code class="literal">
       ZATTRBUF_FILESIZE
      </code>
      (found in
      <code class="filename">
       ndb/src/kernel/blocks/Dbtc/Dbtc.hpp
      </code>
      )
            set to 4000 × 128 bytes (500KB). A similar buffer for
            key information,
      <code class="literal">
       ZDATABUF_FILESIZE
      </code>
      (also
            in
      <code class="filename">
       Dbtc.hpp
      </code>
      ) contains 4000 × 16 =
            62.5KB of buffer space.
      <code class="literal">
       Dbtc
      </code>
      is the
            module that handles transaction coordination.
     </p>
    </li>
   </ul>
  </div>
  <p>
   <a name="mysql-cluster-transaction-resource-allocation">
   </a>
   <b>
    Transaction resource allocation parameters.
   </b>
   The parameters in the following list are used to allocate
          transaction resources in the transaction coordinator
          (
   <a class="ulink" href="/doc/ndb-internals/en/ndb-internals-kernel-blocks-dbtc.html" target="_top">
    <code class="literal">
     DBTC
    </code>
   </a>
   ). Leaving any one of
          these set to the default (0) dedicates transaction memory for
          25% of estimated total data node usage for the corresponding
          resource. The actual maximum possible values for these
          parameters are typically limited by the amount of memory
          available to the data node; setting them has no impact on the
          total amount of memory allocated to the data node. In
          addition, you should keep in mind that they control numbers of
          reserved internal records for the data node independent of any
          settings for
   <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-maxdmloperationspertransaction">
    <code class="literal">
     MaxDMLOperationsPerTransaction
    </code>
   </a>
   ,
   <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-maxnoofconcurrentindexoperations">
    <code class="literal">
     MaxNoOfConcurrentIndexOperations
    </code>
   </a>
   ,
   <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-maxnoofconcurrentoperations">
    <code class="literal">
     MaxNoOfConcurrentOperations
    </code>
   </a>
   ,
   <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-maxnoofconcurrentscans">
    <code class="literal">
     MaxNoOfConcurrentScans
    </code>
   </a>
   ,
   <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-maxnoofconcurrenttransactions">
    <code class="literal">
     MaxNoOfConcurrentTransactions
    </code>
   </a>
   ,
   <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-maxnooffiredtriggers">
    <code class="literal">
     MaxNoOfFiredTriggers
    </code>
   </a>
   ,
   <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-maxnooflocalscans">
    <code class="literal">
     MaxNoOfLocalScans
    </code>
   </a>
   , or
   <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-transactionbuffermemory">
    <code class="literal">
     TransactionBufferMemory
    </code>
   </a>
   (see
   <a class="xref" href="mysql-cluster-ndbd-definition.html#mysql-cluster-transaction-parameters" title="Transaction parameters">
    Transaction parameters
   </a>
   and
   <a class="xref" href="mysql-cluster-ndbd-definition.html#mysql-cluster-transaction-temporary-storage" title="Transaction temporary storage">
    Transaction temporary storage
   </a>
   ).
  </p>
  <div class="itemizedlist">
   <ul class="itemizedlist" style="list-style-type: disc; ">
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-reservedconcurrentindexoperations">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-reservedconcurrentindexoperations">
       <code class="literal">
        ReservedConcurrentIndexOperations
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045119283648">
     </a>
     <div class="informaltable">
      <a name="reservedconcurrentindexoperations-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="ReservedConcurrentIndexOperations data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          numeric
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          0
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          0 - 4294967039 (0xFFFFFEFF)
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      Number of simultaneous index operations having dedicated
            resources on one data node.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-reservedconcurrentoperations">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-reservedconcurrentoperations">
       <code class="literal">
        ReservedConcurrentOperations
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045119263008">
     </a>
     <div class="informaltable">
      <a name="reservedconcurrentoperations-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="ReservedConcurrentOperations data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          numeric
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          0
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          0 - 4294967039 (0xFFFFFEFF)
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      Number of simultaneous operations having dedicated resources
            in transaction coordinators on one data node.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-reservedconcurrentscans">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-reservedconcurrentscans">
       <code class="literal">
        ReservedConcurrentScans
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045119242480">
     </a>
     <div class="informaltable">
      <a name="reservedconcurrentscans-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="ReservedConcurrentScans data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          numeric
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          0
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          0 - 4294967039 (0xFFFFFEFF)
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      Number of simultaneous scans having dedicated resources on
            one data node.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-reservedconcurrenttransactions">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-reservedconcurrenttransactions">
       <code class="literal">
        ReservedConcurrentTransactions
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045119221952">
     </a>
     <div class="informaltable">
      <a name="reservedconcurrenttransactions-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="ReservedConcurrentTransactions data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          numeric
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          0
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          0 - 4294967039 (0xFFFFFEFF)
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      Number of simultaneous transactions having dedicated
            resources on one data node.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-reservedfiredtriggers">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-reservedfiredtriggers">
       <code class="literal">
        ReservedFiredTriggers
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045119201488">
     </a>
     <div class="informaltable">
      <a name="reservedfiredtriggers-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="ReservedFiredTriggers data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          numeric
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          0
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          0 - 4294967039 (0xFFFFFEFF)
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      Number of triggers that have dedicated resources on one
            ndbd(DB) node.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-reservedlocalscans">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-reservedlocalscans">
       <code class="literal">
        ReservedLocalScans
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045119180944">
     </a>
     <div class="informaltable">
      <a name="reservedlocalscans-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="ReservedLocalScans data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          numeric
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          0
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          0 - 4294967039 (0xFFFFFEFF)
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      Number of simultaneous fragment scans having dedicated
            resources on one data node.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-reservedtransactionbuffermemory">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-reservedtransactionbuffermemory">
       <code class="literal">
        ReservedTransactionBufferMemory
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045119160432">
     </a>
     <div class="informaltable">
      <a name="reservedtransactionbuffermemory-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="ReservedTransactionBufferMemory data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          numeric
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          0
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          0 - 4294967039 (0xFFFFFEFF)
         </td>
        </tr>
        <tr>
         <th>
          Deprecated
         </th>
         <td>
          Yes (in NDB 8.0)
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      Dynamic buffer space (in bytes) for key and attribute data
            allocated to each data node.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-transactionmemory">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-transactionmemory">
       <code class="literal">
        TransactionMemory
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045119137712">
     </a>
     <div class="informaltable">
      <a name="transactionmemory-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="TransactionMemory data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          bytes
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          0
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          0 - 16384G
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <div class="important" style="margin-left: 0.5in; margin-right: 0.5in;">
      <div class="admon-title">
       Important
      </div>
      <p>
       A number of configuration parameters are incompatible with
       <code class="literal">
        TransactionMemory
       </code>
       ; it is not possible
              to set any of these parameters concurrently with
       <code class="literal">
        TransactionMemory
       </code>
       , and if you attempt
              to do so, the management server is unable to start (see
       <a class="xref" href="mysql-cluster-ndbd-definition.html#mysql-cluster-transactionmemory-incompatible" title="Parameters incompatible with TransactionMemory">
        Parameters incompatible with TransactionMemory
       </a>
       ).
      </p>
     </div>
     <p>
      This parameter determines the memory (in bytes) allocated
            for transactions on each data node. Setting of transaction
            memory is handled as follows:
     </p>
     <div class="itemizedlist">
      <ul class="itemizedlist" style="list-style-type: circle; ">
       <li class="listitem">
        <p>
         If
         <code class="literal">
          TransactionMemory
         </code>
         is set, this
                value is used for determining transaction memory.
        </p>
       </li>
       <li class="listitem">
        <p>
         Otherwise, transaction memory is calculated as it was
                previous to NDB 8.0.
        </p>
       </li>
      </ul>
     </div>
     <p>
      <a name="mysql-cluster-transactionmemory-incompatible">
      </a>
      <b>
       Parameters incompatible with TransactionMemory.
      </b>
      The following parameters cannot be used concurrently with
      <code class="literal">
       TransactionMemory
      </code>
      and are therefore
              deprecated:
     </p>
     <div class="itemizedlist">
      <ul class="itemizedlist" style="list-style-type: circle; ">
       <li class="listitem">
        <p>
         <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-maxnoofconcurrentindexoperations">
          <code class="literal">
           MaxNoOfConcurrentIndexOperations
          </code>
         </a>
        </p>
       </li>
       <li class="listitem">
        <p>
         <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-maxnooffiredtriggers">
          <code class="literal">
           MaxNoOfFiredTriggers
          </code>
         </a>
        </p>
       </li>
       <li class="listitem">
        <p>
         <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-maxnooflocaloperations">
          <code class="literal">
           MaxNoOfLocalOperations
          </code>
         </a>
        </p>
       </li>
       <li class="listitem">
        <p>
         <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-maxnooflocalscans">
          <code class="literal">
           MaxNoOfLocalScans
          </code>
         </a>
        </p>
       </li>
      </ul>
     </div>
     <p>
      Explicitly setting any of the parameters just listed when
      <code class="literal">
       TransactionMemory
      </code>
      has also been set in
            the cluster configuration file
            (
      <code class="filename">
       config.ini
      </code>
      ) keeps the management node
            from starting.
     </p>
     <p>
      For more information regarding resource allocation in NDB
            Cluster data nodes, see
      <a class="xref" href="mysql-cluster-data-node-memory-management.html" title="25.4.3.13 Data Node Memory Management">
       Section 25.4.3.13, “Data Node Memory Management”
      </a>
      .
     </p>
    </li>
   </ul>
  </div>
  <p>
   <a name="mysql-cluster-scans-and-buffering">
   </a>
   <b>
    Scans and buffering.
   </b>
   There are additional
   <code class="literal">
    [ndbd]
   </code>
   parameters in
          the
   <code class="literal">
    Dblqh
   </code>
   module (in
   <code class="filename">
    ndb/src/kernel/blocks/Dblqh/Dblqh.hpp
   </code>
   )
          that affect reads and updates. These include
   <code class="literal">
    ZATTRINBUF_FILESIZE
   </code>
   , set by default to
          10000 × 128 bytes (1250KB) and
   <code class="literal">
    ZDATABUF_FILE_SIZE
   </code>
   , set by default to
          10000*16 bytes (roughly 156KB) of buffer space. To date, there
          have been neither any reports from users nor any results from
          our own extensive tests suggesting that either of these
          compile-time limits should be increased.
  </p>
  <div class="itemizedlist">
   <ul class="itemizedlist" style="list-style-type: disc; ">
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-batchsizeperlocalscan">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-batchsizeperlocalscan">
       <code class="literal">
        BatchSizePerLocalScan
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045119090416">
     </a>
     <div class="informaltable">
      <a name="batchsizeperlocalscan-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="BatchSizePerLocalScan data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          integer
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          256
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          1 - 992
         </td>
        </tr>
        <tr>
         <th>
          Deprecated
         </th>
         <td>
          Yes (in NDB 8.0)
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      This parameter is used to calculate the number of lock
            records used to handle concurrent scan operations.
     </p>
     <p>
      Deprecated.
     </p>
     <p>
      <code class="literal">
       BatchSizePerLocalScan
      </code>
      has a strong
            connection to the
      <a class="link" href="mysql-cluster-api-definition.html#ndbparam-api-batchsize">
       <code class="literal">
        BatchSize
       </code>
      </a>
      defined in
            the SQL nodes.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-longmessagebuffer">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-longmessagebuffer">
       <code class="literal">
        LongMessageBuffer
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045119064960">
     </a>
     <div class="informaltable">
      <a name="longmessagebuffer-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="LongMessageBuffer data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          bytes
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          64M
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          512K - 4294967039 (0xFFFFFEFF)
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      This is an internal buffer used for passing messages within
            individual nodes and between nodes. The default is 64MB.
     </p>
     <p>
      This parameter seldom needs to be changed from the default.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-maxfkbuildbatchsize">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-maxfkbuildbatchsize">
       <code class="literal">
        MaxFKBuildBatchSize
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045119043968">
     </a>
     <div class="informaltable">
      <a name="maxfkbuildbatchsize-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="MaxFKBuildBatchSize data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          integer
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          64
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          16 - 512
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      Maximum scan batch size used for building foreign keys.
            Increasing the value set for this parameter may speed up
            building of foreign key builds at the expense of greater
            impact to ongoing traffic.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-maxnoofconcurrentscans">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-maxnoofconcurrentscans">
       <code class="literal">
        MaxNoOfConcurrentScans
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045119023360">
     </a>
     <div class="informaltable">
      <a name="maxnoofconcurrentscans-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="MaxNoOfConcurrentScans data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          integer
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          256
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          2 - 500
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      This parameter is used to control the number of parallel
            scans that can be performed in the cluster. Each transaction
            coordinator can handle the number of parallel scans defined
            for this parameter. Each scan query is performed by scanning
            all partitions in parallel. Each partition scan uses a scan
            record in the node where the partition is located, the
            number of records being the value of this parameter times
            the number of nodes. The cluster should be able to sustain
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-maxnoofconcurrentscans">
       <code class="literal">
        MaxNoOfConcurrentScans
       </code>
      </a>
      scans concurrently from all nodes in the cluster.
     </p>
     <p>
      Scans are actually performed in two cases. The first of
            these cases occurs when no hash or ordered indexes exists to
            handle the query, in which case the query is executed by
            performing a full table scan. The second case is encountered
            when there is no hash index to support the query but there
            is an ordered index. Using the ordered index means executing
            a parallel range scan. The order is kept on the local
            partitions only, so it is necessary to perform the index
            scan on all partitions.
     </p>
     <p>
      The default value of
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-maxnoofconcurrentscans">
       <code class="literal">
        MaxNoOfConcurrentScans
       </code>
      </a>
      is 256. The maximum value is 500.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-maxnooflocalscans">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-maxnooflocalscans">
       <code class="literal">
        MaxNoOfLocalScans
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045118998336">
     </a>
     <div class="informaltable">
      <a name="maxnooflocalscans-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="MaxNoOfLocalScans data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          integer
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          4 * MaxNoOfConcurrentScans * [# of data nodes] + 2
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          32 - 4294967039 (0xFFFFFEFF)
         </td>
        </tr>
        <tr>
         <th>
          Deprecated
         </th>
         <td>
          Yes (in NDB 8.0)
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      Specifies the number of local scan records if many scans are
            not fully parallelized. When the number of local scan
            records is not provided, it is calculated as shown here:
     </p>
     <div class="copytoclipboard-wrapper">
      <pre class="programlisting one-line language-simple"><div class="docs-select-all right" id="sa83333575"><div class="copy-help left">Press ⌘+C to copy</div> <div class="right"><button class="clipboard-btn" title="Copy to Clipboard"><span class="icon-clipboard"></span></button></div></div><code class="language-simple">4 <span class="token operator">*</span> MaxNoOfConcurrentScans <span class="token operator">*</span> <span class="token punctuation">[</span><span class="token comment" spellcheck="true"># data nodes] + 2</span></code></pre>
     </div>
     <p>
      This parameter is deprecated and subject to removal in a
            future NDB Cluster release. In addition, this parameter is
            incompatible with the
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-transactionmemory">
       <code class="literal">
        TransactionMemory
       </code>
      </a>
      parameter; if you try to set values for both parameters in
            the cluster configuration file
            (
      <code class="filename">
       config.ini
      </code>
      ), the management server
            refuses to start.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-maxparallelcopyinstances">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-maxparallelcopyinstances">
       <code class="literal">
        MaxParallelCopyInstances
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045118970576">
     </a>
     <div class="informaltable">
      <a name="maxparallelcopyinstances-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="MaxParallelCopyInstances data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          integer
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          0
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          0 - 64
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      This parameter sets the parallelization used in the copy
            phase of a node restart or system restart, when a node that
            is currently just starting is synchronised with a node that
            already has current data by copying over any changed records
            from the node that is up to date. Because full parallelism
            in such cases can lead to overload situations,
      <code class="literal">
       MaxParallelCopyInstances
      </code>
      provides a means
            to decrease it. This parameter's default value 0. This
            value means that the effective parallelism is equal to the
            number of LDM instances in the node just starting as well as
            the node updating it.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-maxparallelscansperfragment">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-maxparallelscansperfragment">
       <code class="literal">
        MaxParallelScansPerFragment
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045118948272">
     </a>
     <div class="informaltable">
      <a name="maxparallelscansperfragment-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="MaxParallelScansPerFragment data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          bytes
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          256
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          1 - 4294967039 (0xFFFFFEFF)
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      It is possible to configure the maximum number of parallel
            scans (
      <a class="ulink" href="/doc/ndb-internals/en/ndb-internals-kernel-blocks-dbtup.html" target="_top">
       <code class="literal">
        TUP
       </code>
      </a>
      scans and
      <a class="ulink" href="/doc/ndb-internals/en/ndb-internals-kernel-blocks-dbtux.html" target="_top">
       <code class="literal">
        TUX
       </code>
      </a>
      scans) allowed
            before they begin queuing for serial handling. You can
            increase this to take advantage of any unused CPU when
            performing large number of scans in parallel and improve
            their performance.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-maxreorgbuildbatchsize">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-maxreorgbuildbatchsize">
       <code class="literal">
        MaxReorgBuildBatchSize
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045118925264">
     </a>
     <div class="informaltable">
      <a name="maxreorgbuildbatchsize-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="MaxReorgBuildBatchSize data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          integer
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          64
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          16 - 512
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      Maximum scan batch size used for reorganization of table
            partitions. Increasing the value set for this parameter may
            speed up reorganization at the expense of greater impact to
            ongoing traffic.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-maxuibuildbatchsize">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-maxuibuildbatchsize">
       <code class="literal">
        MaxUIBuildBatchSize
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045118904656">
     </a>
     <div class="informaltable">
      <a name="maxuibuildbatchsize-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="MaxUIBuildBatchSize data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          integer
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          64
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          16 - 512
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      Maximum scan batch size used for building unique keys.
            Increasing the value set for this parameter may speed up
            such builds at the expense of greater impact to ongoing
            traffic.
     </p>
    </li>
   </ul>
  </div>
  <h5>
   <a name="mysql-cluster-memory-allocation">
   </a>
   Memory Allocation
  </h5>
  <p>
   <a name="ndbparam-ndbd-maxallocate">
   </a>
   <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-maxallocate">
    <code class="literal">
     MaxAllocate
    </code>
   </a>
  </p>
  <a class="indexterm" name="idm46045118882320">
  </a>
  <div class="informaltable">
   <a name="maxallocate-ndbd-table">
   </a>
   <table frame="box" rules="all" summary="MaxAllocate data node configuration parameter type and value information" width="35%">
    <colgroup>
     <col style="width: 50%"/>
     <col style="width: 50%"/>
    </colgroup>
    <tbody>
     <tr>
      <th>
       Version (or later)
      </th>
      <td>
       NDB 8.4.0
      </td>
     </tr>
     <tr>
      <th>
       Type or units
      </th>
      <td>
       unsigned
      </td>
     </tr>
     <tr>
      <th>
       Default
      </th>
      <td>
       32M
      </td>
     </tr>
     <tr>
      <th>
       Range
      </th>
      <td>
       1M - 1G
      </td>
     </tr>
     <tr>
      <th>
       Deprecated
      </th>
      <td>
       Yes (in NDB 8.0)
      </td>
     </tr>
     <tr>
      <th>
       Restart Type
      </th>
      <td>
       <p>
        <span class="bold">
         <strong>
          Node Restart:
         </strong>
        </span>
        Requires
                a
        <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
         rolling
                restart
        </a>
        of the cluster. (NDB 8.4.0)
       </p>
      </td>
     </tr>
    </tbody>
   </table>
  </div>
  <p>
   This parameter was used in older versions of NDB Cluster, but
        has no effect in NDB 8.4. It is deprecated and
        subject to removal in a future release.
  </p>
  <h5>
   <a name="mysql-cluster-multiple-transporters">
   </a>
   Multiple Transporters
  </h5>
  <p>
   <code class="literal">
    NDB
   </code>
   allocates multiple transporters for
        communication between pairs of data nodes. The number of
        transporters so allocated can be influenced by setting an
        appropriate value for the
   <code class="literal">
    NodeGroupTransporters
   </code>
   parameter introduced in
        that release.
  </p>
  <p>
   <a name="ndbparam-ndbd-nodegrouptransporters">
   </a>
   <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-nodegrouptransporters">
    <code class="literal">
     NodeGroupTransporters
    </code>
   </a>
  </p>
  <a class="indexterm" name="idm46045118856112">
  </a>
  <div class="informaltable">
   <a name="nodegrouptransporters-ndbd-table">
   </a>
   <table frame="box" rules="all" summary="NodeGroupTransporters data node configuration parameter type and value information" width="35%">
    <colgroup>
     <col style="width: 50%"/>
     <col style="width: 50%"/>
    </colgroup>
    <tbody>
     <tr>
      <th>
       Version (or later)
      </th>
      <td>
       NDB 8.4.0
      </td>
     </tr>
     <tr>
      <th>
       Type or units
      </th>
      <td>
       integer
      </td>
     </tr>
     <tr>
      <th>
       Default
      </th>
      <td>
       0
      </td>
     </tr>
     <tr>
      <th>
       Range
      </th>
      <td>
       0 - 32
      </td>
     </tr>
     <tr>
      <th>
       Restart Type
      </th>
      <td>
       <p>
        <span class="bold">
         <strong>
          Node Restart:
         </strong>
        </span>
        Requires
                a
        <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
         rolling
                restart
        </a>
        of the cluster. (NDB 8.4.0)
       </p>
      </td>
     </tr>
    </tbody>
   </table>
  </div>
  <p>
   This parameter determines the number of transporters used
        between nodes in the same node group. The default value (0)
        means that the number of transporters used is the same as the
        number of LDMs in the node. This should be sufficient for most
        use cases; thus it should seldom be necessary to change this
        value from its default.
  </p>
  <p>
   Setting
   <code class="literal">
    NodeGroupTransporters
   </code>
   to a number
        greater than the number of LDM threads or the number of TC
        threads, whichever is higher, causes
   <code class="literal">
    NDB
   </code>
   to
        use the maximum of these two numbers of threads. This means that
        a value greater than this is effectively ignored.
  </p>
  <h5>
   <a name="mysql-cluster-hash-map-size">
   </a>
   Hash Map Size
  </h5>
  <p>
   <a name="ndbparam-ndbd-defaulthashmapsize">
   </a>
   <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-defaulthashmapsize">
    <code class="literal">
     DefaultHashMapSize
    </code>
   </a>
  </p>
  <a class="indexterm" name="idm46045118831776">
  </a>
  <div class="informaltable">
   <a name="defaulthashmapsize-ndbd-table">
   </a>
   <table frame="box" rules="all" summary="DefaultHashMapSize data node configuration parameter type and value information" width="35%">
    <colgroup>
     <col style="width: 50%"/>
     <col style="width: 50%"/>
    </colgroup>
    <tbody>
     <tr>
      <th>
       Version (or later)
      </th>
      <td>
       NDB 8.4.0
      </td>
     </tr>
     <tr>
      <th>
       Type or units
      </th>
      <td>
       LDM threads
      </td>
     </tr>
     <tr>
      <th>
       Default
      </th>
      <td>
       240
      </td>
     </tr>
     <tr>
      <th>
       Range
      </th>
      <td>
       0 - 3840
      </td>
     </tr>
     <tr>
      <th>
       Restart Type
      </th>
      <td>
       <p>
        <span class="bold">
         <strong>
          Node Restart:
         </strong>
        </span>
        Requires
                a
        <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
         rolling
                restart
        </a>
        of the cluster. (NDB 8.4.0)
       </p>
      </td>
     </tr>
    </tbody>
   </table>
  </div>
  <p>
   The original intended use for this parameter was to facilitate
        upgrades and especially downgrades to and from very old releases
        with differing default hash map sizes. This is not an issue when
        upgrading from NDB Cluster 7.3 (or later) to later versions.
  </p>
  <p>
   Decreasing this parameter online after any tables have been
        created or modified with
   <code class="literal">
    DefaultHashMapSize
   </code>
   equal to 3840 is not currently supported.
  </p>
  <p>
   <a name="mysql-cluster-logging-and-checkpointing">
   </a>
   <b>
    Logging and checkpointing.
   </b>
   The following
   <code class="literal">
    [ndbd]
   </code>
   parameters control log
          and checkpoint behavior.
  </p>
  <div class="itemizedlist">
   <ul class="itemizedlist" style="list-style-type: disc; ">
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-fragmentlogfilesize">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-fragmentlogfilesize">
       <code class="literal">
        FragmentLogFileSize
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045118807312">
     </a>
     <div class="informaltable">
      <a name="fragmentlogfilesize-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="FragmentLogFileSize data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          bytes
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          16M
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          4M - 1G
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Initial Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster; each data node must
                    be restarted with
           <a class="link" href="mysql-cluster-programs-ndbd.html#option_ndbd_initial">
            <code class="option">
             --initial
            </code>
           </a>
           . (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      Setting this parameter enables you to control directly the
            size of redo log files. This can be useful in situations
            when NDB Cluster is operating under a high load and it is
            unable to close fragment log files quickly enough before
            attempting to open new ones (only 2 fragment log files can
            be open at one time); increasing the size of the fragment
            log files gives the cluster more time before having to open
            each new fragment log file. The default value for this
            parameter is 16M.
     </p>
     <p>
      For more information about fragment log files, see the
            description for
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-nooffragmentlogfiles">
       <code class="literal">
        NoOfFragmentLogFiles
       </code>
      </a>
      .
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-initialnoofopenfiles">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-initialnoofopenfiles">
       <code class="literal">
        InitialNoOfOpenFiles
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045118783536">
     </a>
     <div class="informaltable">
      <a name="initialnoofopenfiles-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="InitialNoOfOpenFiles data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          files
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          27
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          20 - 4294967039 (0xFFFFFEFF)
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      This parameter sets the initial number of internal threads
            to allocate for open files.
     </p>
     <p>
      The default value is 27.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-initfragmentlogfiles">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-initfragmentlogfiles">
       <code class="literal">
        InitFragmentLogFiles
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045118762592">
     </a>
     <div class="informaltable">
      <a name="initfragmentlogfiles-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="InitFragmentLogFiles data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          [see values]
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          SPARSE
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          SPARSE, FULL
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Initial Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster; each data node must
                    be restarted with
           <a class="link" href="mysql-cluster-programs-ndbd.html#option_ndbd_initial">
            <code class="option">
             --initial
            </code>
           </a>
           . (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      By default, fragment log files are created sparsely when
            performing an initial start of a data node—that is,
            depending on the operating system and file system in use,
            not all bytes are necessarily written to disk. However, it
            is possible to override this behavior and force all bytes to
            be written, regardless of the platform and file system type
            being used, by means of this parameter.
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-initfragmentlogfiles">
       <code class="literal">
        InitFragmentLogFiles
       </code>
      </a>
      takes either of two values:
     </p>
     <div class="itemizedlist">
      <ul class="itemizedlist" style="list-style-type: circle; ">
       <li class="listitem">
        <p>
         <code class="literal">
          SPARSE
         </code>
         . Fragment log files are
                created sparsely. This is the default value.
        </p>
       </li>
       <li class="listitem">
        <p>
         <code class="literal">
          FULL
         </code>
         . Force all bytes of the fragment
                log file to be written to disk.
        </p>
       </li>
      </ul>
     </div>
     <p>
      Depending on your operating system and file system, setting
      <code class="literal">
       InitFragmentLogFiles=FULL
      </code>
      may help
            eliminate I/O errors on writes to the redo log.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-enablepartiallcp">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-enablepartiallcp">
       <code class="literal">
        EnablePartialLcp
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045118734224">
     </a>
     <div class="informaltable">
      <a name="enablepartiallcp-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="EnablePartialLcp data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          boolean
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          true
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          ...
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      When
      <code class="literal">
       true
      </code>
      , enable partial local
            checkpoints: This means that each LCP records only part of
            the full database, plus any records containing rows changed
            since the last LCP; if no rows have changed, the LCP updates
            only the LCP control file and does not update any data
            files.
     </p>
     <p>
      If
      <code class="literal">
       EnablePartialLcp
      </code>
      is disabled
            (
      <code class="literal">
       false
      </code>
      ), each LCP uses only a single file
            and writes a full checkpoint; this requires the least amount
            of disk space for LCPs, but increases the write load for
            each LCP. The default value is enabled
            (
      <code class="literal">
       true
      </code>
      ). The proportion of space used by
            partial LCPS can be modified by the setting for the
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-recoverywork">
       <code class="literal">
        RecoveryWork
       </code>
      </a>
      configuration parameter.
     </p>
     <p>
      For more information about files and directories used for
            full and partial LCPs, see
      <a class="ulink" href="/doc/ndb-internals/en/ndb-internals-ndbd-filesystemdir-files.html" target="_top">
       NDB Cluster Data Node File System Directory
      </a>
      .
     </p>
     <p>
      Setting this parameter to
      <code class="literal">
       false
      </code>
      also
            disables the calculation of disk write speed used by the
            adaptive LCP control mechanism.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-lcpscanprogresstimeout">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-lcpscanprogresstimeout">
       <code class="literal">
        LcpScanProgressTimeout
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045118706064">
     </a>
     <div class="informaltable">
      <a name="lcpscanprogresstimeout-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="LcpScanProgressTimeout data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          second
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          180
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          0 - 4294967039 (0xFFFFFEFF)
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      A local checkpoint fragment scan watchdog checks
            periodically for no progress in each fragment scan performed
            as part of a local checkpoint, and shuts down the node if
            there is no progress after a given amount of time has
            elapsed. This interval can be set using the
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-lcpscanprogresstimeout">
       <code class="literal">
        LcpScanProgressTimeout
       </code>
      </a>
      data node configuration parameter, which sets the maximum
            time for which the local checkpoint can be stalled before
            the LCP fragment scan watchdog shuts down the node.
     </p>
     <p>
      The default value is 60 seconds (providing compatibility
            with previous releases). Setting this parameter to 0
            disables the LCP fragment scan watchdog altogether.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-maxnoofopenfiles">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-maxnoofopenfiles">
       <code class="literal">
        MaxNoOfOpenFiles
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045118683248">
     </a>
     <div class="informaltable">
      <a name="maxnoofopenfiles-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="MaxNoOfOpenFiles data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          unsigned
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          0
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          20 - 4294967039 (0xFFFFFEFF)
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      This parameter sets a ceiling on how many internal threads
            to allocate for open files.
      <span class="emphasis">
       <em>
        Any situation
            requiring a change in this parameter should be reported as a
            bug
       </em>
      </span>
      .
     </p>
     <p>
      The default value is 0. However, the minimum value to which
            this parameter can be set is 20.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-maxnoofsavedmessages">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-maxnoofsavedmessages">
       <code class="literal">
        MaxNoOfSavedMessages
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045118661776">
     </a>
     <div class="informaltable">
      <a name="maxnoofsavedmessages-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="MaxNoOfSavedMessages data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          integer
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          25
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          0 - 4294967039 (0xFFFFFEFF)
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      This parameter sets the maximum number of errors written in
            the error log as well as the maximum number of trace files
            that are kept before overwriting the existing ones. Trace
            files are generated when, for whatever reason, the node
            crashes.
     </p>
     <p>
      The default is 25, which sets these maximums to 25 error
            messages and 25 trace files.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-maxlcpstartdelay">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-maxlcpstartdelay">
       <code class="literal">
        MaxLCPStartDelay
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045118640560">
     </a>
     <div class="informaltable">
      <a name="maxlcpstartdelay-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="MaxLCPStartDelay data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          seconds
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          0
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          0 - 600
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      In parallel data node recovery, only table data is actually
            copied and synchronized in parallel; synchronization of
            metadata such as dictionary and checkpoint information is
            done in a serial fashion. In addition, recovery of
            dictionary and checkpoint information cannot be executed in
            parallel with performing of local checkpoints. This means
            that, when starting or restarting many data nodes
            concurrently, data nodes may be forced to wait while a local
            checkpoint is performed, which can result in longer node
            recovery times.
     </p>
     <p>
      It is possible to force a delay in the local checkpoint to
            permit more (and possibly all) data nodes to complete
            metadata synchronization; once each data node's
            metadata synchronization is complete, all of the data nodes
            can recover table data in parallel, even while the local
            checkpoint is being executed. To force such a delay, set
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-maxlcpstartdelay">
       <code class="literal">
        MaxLCPStartDelay
       </code>
      </a>
      ,
            which determines the number of seconds the cluster can wait
            to begin a local checkpoint while data nodes continue to
            synchronize metadata. This parameter should be set in the
      <code class="literal">
       [ndbd default]
      </code>
      section of the
      <code class="filename">
       config.ini
      </code>
      file, so that it is the same
            for all data nodes. The maximum value is 600; the default is
            0.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-nooffragmentlogfiles">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-nooffragmentlogfiles">
       <code class="literal">
        NoOfFragmentLogFiles
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045118615760">
     </a>
     <div class="informaltable">
      <a name="nooffragmentlogfiles-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="NoOfFragmentLogFiles data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          integer
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          16
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          3 - 4294967039 (0xFFFFFEFF)
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Initial Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster; each data node must
                    be restarted with
           <a class="link" href="mysql-cluster-programs-ndbd.html#option_ndbd_initial">
            <code class="option">
             --initial
            </code>
           </a>
           . (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      This parameter sets the number of REDO log files for the
            node, and thus the amount of space allocated to REDO
            logging. Because the REDO log files are organized in a ring,
            it is extremely important that the first and last log files
            in the set (sometimes referred to as the
      <span class="quote">
       “
       <span class="quote">
        head
       </span>
       ”
      </span>
      and
      <span class="quote">
       “
       <span class="quote">
        tail
       </span>
       ”
      </span>
      log files, respectively) do not
            meet. When these approach one another too closely, the node
            begins aborting all transactions encompassing updates due to
            a lack of room for new log records.
     </p>
     <p>
      A
      <code class="literal">
       REDO
      </code>
      log record is not removed until
            both required local checkpoints have been completed since
            that log record was inserted. Checkpointing frequency is
            determined by its own set of configuration parameters
            discussed elsewhere in this chapter.
     </p>
     <p>
      The default parameter value is 16, which by default means 16
            sets of 4 16MB files for a total of 1024MB. The size of the
            individual log files is configurable using the
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-fragmentlogfilesize">
       <code class="literal">
        FragmentLogFileSize
       </code>
      </a>
      parameter. In scenarios requiring a great many updates, the
            value for
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-nooffragmentlogfiles">
       <code class="literal">
        NoOfFragmentLogFiles
       </code>
      </a>
      may need to be set as high as 300 or even higher to provide
            sufficient space for REDO logs.
     </p>
     <p>
      If the checkpointing is slow and there are so many writes to
            the database that the log files are full and the log tail
            cannot be cut without jeopardizing recovery, all updating
            transactions are aborted with internal error code 410
            (
      <code class="literal">
       Out of log file space temporarily
      </code>
      ). This
            condition prevails until a checkpoint has completed and the
            log tail can be moved forward.
     </p>
     <div class="important" style="margin-left: 0.5in; margin-right: 0.5in;">
      <div class="admon-title">
       Important
      </div>
      <p>
       This parameter cannot be changed
       <span class="quote">
        “
        <span class="quote">
         on the
              fly
        </span>
        ”
       </span>
       ; you must restart the node using
       <code class="option">
        --initial
       </code>
       . If you wish to change this
              value for all data nodes in a running cluster, you can do
              so using a rolling node restart (using
       <code class="option">
        --initial
       </code>
       when starting each data node).
      </p>
     </div>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-recoverywork">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-recoverywork">
       <code class="literal">
        RecoveryWork
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045118584224">
     </a>
     <div class="informaltable">
      <a name="recoverywork-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="RecoveryWork data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          integer
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          60
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          25 - 100
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      Percentage of storage overhead for LCP files. This parameter
            has an effect only when
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-enablepartiallcp">
       <code class="literal">
        EnablePartialLcp
       </code>
      </a>
      is
            true, that is, only when partial local checkpoints are
            enabled. A higher value means:
     </p>
     <div class="itemizedlist">
      <ul class="itemizedlist" style="list-style-type: circle; ">
       <li class="listitem">
        <p>
         Fewer records are written for each LCP, LCPs use more
                space
        </p>
       </li>
       <li class="listitem">
        <p>
         More work is needed during restarts
        </p>
       </li>
      </ul>
     </div>
     <p>
      A lower value for
      <code class="literal">
       RecoveryWork
      </code>
      means:
     </p>
     <div class="itemizedlist">
      <ul class="itemizedlist" style="list-style-type: circle; ">
       <li class="listitem">
        <p>
         More records are written during each LCP, but LCPs
                require less space on disk.
        </p>
       </li>
       <li class="listitem">
        <p>
         Less work during restart and thus faster restarts, at
                the expense of more work during normal operations
        </p>
       </li>
      </ul>
     </div>
     <p>
      For example, setting
      <code class="literal">
       RecoveryWork
      </code>
      to 60
            means that the total size of an LCP is roughly 1 + 0.6 = 1.6
            times the size of the data to be checkpointed. This means
            that 60% more work is required during the restore phase of a
            restart compared to the work done during a restart that uses
            full checkpoints. (This is more than compensated for during
            other phases of the restart such that the restart as a whole
            is still faster when using partial LCPs than when using full
            LCPs.) In order not to fill up the redo log, it is necessary
            to write at 1 + (1 /
      <code class="literal">
       RecoveryWork
      </code>
      ) times
            the rate of data changes during checkpoints—thus, when
      <code class="literal">
       RecoveryWork
      </code>
      = 60, it is necessary to
            write at approximately 1 + (1 / 0.6 ) = 2.67 times the
            change rate. In other words, if changes are being written at
            10 MByte per second, the checkpoint needs to be written at
            roughly 26.7 MByte per second.
     </p>
     <p>
      Setting
      <code class="literal">
       RecoveryWork
      </code>
      = 40 means that only
            1.4 times the total LCP size is needed (and thus the restore
            phase takes 10 to 15 percent less time. In this case, the
            checkpoint write rate is 3.5 times the rate of change.
     </p>
     <a class="indexterm" name="idm46045118554352">
     </a>
     <p>
      The NDB source distribution includes a test program for
            simulating LCPs.
      <code class="filename">
       lcp_simulator.cc
      </code>
      can
            be found in
      <code class="filename">
       storage/ndb/src/kernel/blocks/backup/
      </code>
      .
            To compile and run it on Unix platforms, execute the
            commands shown here:
     </p>
     <div class="copytoclipboard-wrapper">
      <pre class="programlisting language-terminal"><div class="docs-select-all right" id="sa54795723"><div class="copy-help left">Press ⌘+C to copy</div> <div class="right"><button class="clipboard-btn" title="Copy to Clipboard"><span class="icon-clipboard"></span></button></div></div><code class="language-terminal"><span class="token prompt">$&gt; </span><span class="token command">gcc</span> lcp_simulator<span class="token punctuation">.</span>cc
<span class="token prompt">$&gt; </span><span class="token command">./a.out</span></code></pre>
     </div>
     <p>
      This program has no dependencies other than
      <code class="filename">
       stdio.h
      </code>
      , and does not require a
            connection to an NDB cluster or a MySQL server. By default,
            it simulates 300 LCPs (three sets of 100 LCPs, each
            consisting of inserts, updates, and deletes, in turn),
            reporting the size of the LCP after each one. You can alter
            the simulation by changing the values of
      <code class="literal">
       recovery_work
      </code>
      ,
      <code class="literal">
       insert_work
      </code>
      , and
      <code class="literal">
       delete_work
      </code>
      in the source and
            recompiling. For more information, see the source of the
            program.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-insertrecoverywork">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-insertrecoverywork">
       <code class="literal">
        InsertRecoveryWork
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045118542512">
     </a>
     <div class="informaltable">
      <a name="insertrecoverywork-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="InsertRecoveryWork data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          integer
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          40
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          0 - 70
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      Percentage of
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-recoverywork">
       <code class="literal">
        RecoveryWork
       </code>
      </a>
      used
            for inserted rows. A higher value increases the number of
            writes during a local checkpoint, and decreases the total
            size of the LCP. A lower value decreases the number of
            writes during an LCP, but results in more space being used
            for the LCP, which means that recovery takes longer. This
            parameter has an effect only when
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-enablepartiallcp">
       <code class="literal">
        EnablePartialLcp
       </code>
      </a>
      is
            true, that is, only when partial local checkpoints are
            enabled.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-enableredocontrol">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-enableredocontrol">
       <code class="literal">
        EnableRedoControl
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045118519056">
     </a>
     <div class="informaltable">
      <a name="enableredocontrol-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="EnableRedoControl data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          boolean
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          true
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          ...
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      Enable adaptive checkpointing speed for controlling redo log
            usage.
     </p>
     <p>
      When enabled (the default),
      <code class="literal">
       EnableRedoControl
      </code>
      allows the data nodes
            greater flexibility with regard to the rate at which they
            write LCPs to disk. More specifically, enabling this
            parameter means that higher write rates can be employed, so
            that LCPs can complete and redo logs be trimmed more
            quickly, thereby reducing recovery time and disk space
            requirements. This functionality allows data nodes to make
            better use of the higher rate of I/O and greater bandwidth
            available from modern solid-state storage devices and
            protocols, such as solid-state drives (SSDs) using
            Non-Volatile Memory Express (NVMe).
     </p>
     <p>
      When
      <code class="literal">
       NDB
      </code>
      is deployed on systems whose I/O
            or bandwidth is constrained relative to those employing
            solid-state technology, such as those using conventional
            hard disks (HDDs), the
      <code class="literal">
       EnableRedoControl
      </code>
      mechanism can easily cause the I/O subsystem to become
            saturated, increasing wait times for data node input and
            output. In particular, this can cause issues with NDB Disk
            Data tables which have tablespaces or log file groups
            sharing a constrained I/O subsystem with data node LCP and
            redo log files; such problems potentially include node or
            cluster failure due to GCP stop errors. Set
      <code class="literal">
       EnableRedoControl
      </code>
      to
      <code class="literal">
       false
      </code>
      to disable it in such situations.
            Setting
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-enablepartiallcp">
       <code class="literal">
        EnablePartialLcp
       </code>
      </a>
      to
      <code class="literal">
       false
      </code>
      also disables the adaptive
            calculation.
     </p>
    </li>
   </ul>
  </div>
  <p>
   <a name="mysql-cluster-metadata-objects">
   </a>
   <b>
    Metadata objects.
   </b>
   The next set of
   <code class="literal">
    [ndbd]
   </code>
   parameters defines
          pool sizes for metadata objects, used to define the maximum
          number of attributes, tables, indexes, and trigger objects
          used by indexes, events, and replication between clusters.
  </p>
  <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
   <div class="admon-title">
    Note
   </div>
   <p>
    These act merely as
    <span class="quote">
     “
     <span class="quote">
      suggestions
     </span>
     ”
    </span>
    to the cluster,
          and any that are not specified revert to the default values
          shown.
   </p>
  </div>
  <div class="itemizedlist">
   <ul class="itemizedlist" style="list-style-type: disc; ">
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-maxnoofattributes">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-maxnoofattributes">
       <code class="literal">
        MaxNoOfAttributes
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045118485776">
     </a>
     <div class="informaltable">
      <a name="maxnoofattributes-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="MaxNoOfAttributes data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          integer
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          1000
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          32 - 4294967039 (0xFFFFFEFF)
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      This parameter sets a suggested maximum number of attributes
            that can be defined in the cluster; like
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-maxnooftables">
       <code class="literal">
        MaxNoOfTables
       </code>
      </a>
      , it is
            not intended to function as a hard upper limit.
     </p>
     <p>
      (In older NDB Cluster releases, this parameter was sometimes
            treated as a hard limit for certain operations. This caused
            problems with NDB Cluster Replication, when it was possible
            to create more tables than could be replicated, and
            sometimes led to confusion when it was possible [or not
            possible, depending on the circumstances] to create more
            than
      <code class="literal">
       MaxNoOfAttributes
      </code>
      attributes.)
     </p>
     <p>
      The default value is 1000, with the minimum possible value
            being 32. The maximum is 4294967039. Each attribute consumes
            around 200 bytes of storage per node due to the fact that
            all metadata is fully replicated on the servers.
     </p>
     <p>
      When setting
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-maxnoofattributes">
       <code class="literal">
        MaxNoOfAttributes
       </code>
      </a>
      ,
            it is important to prepare in advance for any
      <a class="link" href="alter-table.html" title="15.1.9 ALTER TABLE Statement">
       <code class="literal">
        ALTER TABLE
       </code>
      </a>
      statements that
            you might want to perform in the future. This is due to the
            fact, during the execution of
      <a class="link" href="alter-table.html" title="15.1.9 ALTER TABLE Statement">
       <code class="literal">
        ALTER
            TABLE
       </code>
      </a>
      on a Cluster table, 3 times the number of
            attributes as in the original table are used, and a good
            practice is to permit double this amount. For example, if
            the NDB Cluster table having the greatest number of
            attributes
            (
      <em class="replaceable">
       <code>
        greatest_number_of_attributes
       </code>
      </em>
      )
            has 100 attributes, a good starting point for the value of
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-maxnoofattributes">
       <code class="literal">
        MaxNoOfAttributes
       </code>
      </a>
      would be
      <code class="literal">
       6 *
       <em class="replaceable">
        <code>
         greatest_number_of_attributes
        </code>
       </em>
       =
            600
      </code>
      .
     </p>
     <p>
      You should also estimate the average number of attributes
            per table and multiply this by
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-maxnooftables">
       <code class="literal">
        MaxNoOfTables
       </code>
      </a>
      . If
            this value is larger than the value obtained in the previous
            paragraph, you should use the larger value instead.
     </p>
     <p>
      Assuming that you can create all desired tables without any
            problems, you should also verify that this number is
            sufficient by trying an actual
      <a class="link" href="alter-table.html" title="15.1.9 ALTER TABLE Statement">
       <code class="literal">
        ALTER
            TABLE
       </code>
      </a>
      after configuring the parameter. If this is
            not successful, increase
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-maxnoofattributes">
       <code class="literal">
        MaxNoOfAttributes
       </code>
      </a>
      by
            another multiple of
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-maxnooftables">
       <code class="literal">
        MaxNoOfTables
       </code>
      </a>
      and
            test it again.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-maxnooftables">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-maxnooftables">
       <code class="literal">
        MaxNoOfTables
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045118447712">
     </a>
     <div class="informaltable">
      <a name="maxnooftables-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="MaxNoOfTables data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          integer
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          128
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          8 - 20320
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      A table object is allocated for each table and for each
            unique hash index in the cluster. This parameter sets a
            suggested maximum number of table objects for the cluster as
            a whole; like
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-maxnoofattributes">
       <code class="literal">
        MaxNoOfAttributes
       </code>
      </a>
      ,
            it is not intended to function as a hard upper limit.
     </p>
     <p>
      (In older NDB Cluster releases, this parameter was sometimes
            treated as a hard limit for certain operations. This caused
            problems with NDB Cluster Replication, when it was possible
            to create more tables than could be replicated, and
            sometimes led to confusion when it was possible [or not
            possible, depending on the circumstances] to create more
            than
      <code class="literal">
       MaxNoOfTables
      </code>
      tables.)
     </p>
     <p>
      For each attribute that has a
      <a class="link" href="blob.html" title="13.3.4 The BLOB and TEXT Types">
       <code class="literal">
        BLOB
       </code>
      </a>
      data type an extra table
            is used to store most of the
      <a class="link" href="blob.html" title="13.3.4 The BLOB and TEXT Types">
       <code class="literal">
        BLOB
       </code>
      </a>
      data. These tables also
            must be taken into account when defining the total number of
            tables.
     </p>
     <p>
      The default value of this parameter is 128. The minimum is 8
            and the maximum is 20320. Each table object consumes
            approximately 20KB per node.
     </p>
     <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
      <div class="admon-title">
       Note
      </div>
      <p>
       The sum of
       <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-maxnooftables">
        <code class="literal">
         MaxNoOfTables
        </code>
       </a>
       ,
       <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-maxnooforderedindexes">
        <code class="literal">
         MaxNoOfOrderedIndexes
        </code>
       </a>
       ,
              and
       <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-maxnoofuniquehashindexes">
        <code class="literal">
         MaxNoOfUniqueHashIndexes
        </code>
       </a>
       must not exceed
       <code class="literal">
        2
        <sup>
         32
        </sup>
        − 2
       </code>
       (4294967294).
      </p>
     </div>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-maxnooforderedindexes">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-maxnooforderedindexes">
       <code class="literal">
        MaxNoOfOrderedIndexes
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045118414784">
     </a>
     <div class="informaltable">
      <a name="maxnooforderedindexes-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="MaxNoOfOrderedIndexes data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          integer
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          128
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          0 - 4294967039 (0xFFFFFEFF)
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      For each ordered index in the cluster, an object is
            allocated describing what is being indexed and its storage
            segments. By default, each index so defined also defines an
            ordered index. Each unique index and primary key has both an
            ordered index and a hash index.
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-maxnooforderedindexes">
       <code class="literal">
        MaxNoOfOrderedIndexes
       </code>
      </a>
      sets the total number of ordered indexes that can be in use
            in the system at any one time.
     </p>
     <p>
      The default value of this parameter is 128. Each index
            object consumes approximately 10KB of data per node.
     </p>
     <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
      <div class="admon-title">
       Note
      </div>
      <p>
       The sum of
       <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-maxnooftables">
        <code class="literal">
         MaxNoOfTables
        </code>
       </a>
       ,
       <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-maxnooforderedindexes">
        <code class="literal">
         MaxNoOfOrderedIndexes
        </code>
       </a>
       ,
              and
       <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-maxnoofuniquehashindexes">
        <code class="literal">
         MaxNoOfUniqueHashIndexes
        </code>
       </a>
       must not exceed
       <code class="literal">
        2
        <sup>
         32
        </sup>
        − 2
       </code>
       (4294967294).
      </p>
     </div>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-maxnoofuniquehashindexes">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-maxnoofuniquehashindexes">
       <code class="literal">
        MaxNoOfUniqueHashIndexes
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045118386368">
     </a>
     <div class="informaltable">
      <a name="maxnoofuniquehashindexes-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="MaxNoOfUniqueHashIndexes data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          integer
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          64
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          0 - 4294967039 (0xFFFFFEFF)
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      For each unique index that is not a primary key, a special
            table is allocated that maps the unique key to the primary
            key of the indexed table. By default, an ordered index is
            also defined for each unique index. To prevent this, you
            must specify the
      <code class="literal">
       USING HASH
      </code>
      option when
            defining the unique index.
     </p>
     <p>
      The default value is 64. Each index consumes approximately
            15KB per node.
     </p>
     <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
      <div class="admon-title">
       Note
      </div>
      <p>
       The sum of
       <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-maxnooftables">
        <code class="literal">
         MaxNoOfTables
        </code>
       </a>
       ,
       <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-maxnooforderedindexes">
        <code class="literal">
         MaxNoOfOrderedIndexes
        </code>
       </a>
       ,
              and
       <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-maxnoofuniquehashindexes">
        <code class="literal">
         MaxNoOfUniqueHashIndexes
        </code>
       </a>
       must not exceed
       <code class="literal">
        2
        <sup>
         32
        </sup>
        − 2
       </code>
       (4294967294).
      </p>
     </div>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-maxnooftriggers">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-maxnooftriggers">
       <code class="literal">
        MaxNoOfTriggers
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045118358528">
     </a>
     <div class="informaltable">
      <a name="maxnooftriggers-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="MaxNoOfTriggers data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          integer
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          768
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          0 - 4294967039 (0xFFFFFEFF)
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      Internal update, insert, and delete triggers are allocated
            for each unique hash index. (This means that three triggers
            are created for each unique hash index.) However, an
      <span class="emphasis">
       <em>
        ordered
       </em>
      </span>
      index requires only a single
            trigger object. Backups also use three trigger objects for
            each normal table in the cluster.
     </p>
     <p>
      Replication between clusters also makes use of internal
            triggers.
     </p>
     <p>
      This parameter sets the maximum number of trigger objects in
            the cluster.
     </p>
     <p>
      The default value is 768.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-maxnoofsubscriptions">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-maxnoofsubscriptions">
       <code class="literal">
        MaxNoOfSubscriptions
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045118335904">
     </a>
     <div class="informaltable">
      <a name="maxnoofsubscriptions-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="MaxNoOfSubscriptions data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          unsigned
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          0
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          0 - 4294967039 (0xFFFFFEFF)
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      Each
      <a class="link" href="mysql-cluster.html" title="Chapter 25 MySQL NDB Cluster 8.4">
       <code class="literal">
        NDB
       </code>
      </a>
      table in an NDB
            Cluster requires a subscription in the NDB kernel. For some
            NDB API applications, it may be necessary or desirable to
            change this parameter. However, for normal usage with MySQL
            servers acting as SQL nodes, there is not any need to do so.
     </p>
     <p>
      The default value for
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-maxnoofsubscriptions">
       <code class="literal">
        MaxNoOfSubscriptions
       </code>
      </a>
      is 0, which is treated as equal to
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-maxnooftables">
       <code class="literal">
        MaxNoOfTables
       </code>
      </a>
      . Each
            subscription consumes 108 bytes.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-maxnoofsubscribers">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-maxnoofsubscribers">
       <code class="literal">
        MaxNoOfSubscribers
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045118310880">
     </a>
     <div class="informaltable">
      <a name="maxnoofsubscribers-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="MaxNoOfSubscribers data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          unsigned
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          0
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          0 - 4294967039 (0xFFFFFEFF)
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      This parameter is of interest only when using NDB Cluster
            Replication. The default value is 0. It is treated as
      <code class="literal">
       2 * MaxNoOfTables + 2 * [number of API
            nodes]
      </code>
      . There is one subscription per
      <a class="link" href="mysql-cluster.html" title="Chapter 25 MySQL NDB Cluster 8.4">
       <code class="literal">
        NDB
       </code>
      </a>
      table for each of two MySQL
            servers (one acting as the replication source and the other
            as the replica). Each subscriber uses 16 bytes of memory.
     </p>
     <p>
      When using circular replication, multi-source replication,
            and other replication setups involving more than 2 MySQL
            servers, you should increase this parameter to the number of
      <a class="link" href="mysqld.html" title="6.3.1 mysqld — The MySQL Server">
       <span class="command">
        <strong>
         mysqld
        </strong>
       </span>
      </a>
      processes included in replication
            (this is often, but not always, the same as the number of
            clusters). For example, if you have a circular replication
            setup using three NDB Clusters, with one
      <a class="link" href="mysqld.html" title="6.3.1 mysqld — The MySQL Server">
       <span class="command">
        <strong>
         mysqld
        </strong>
       </span>
      </a>
      attached to each cluster, and each
            of these
      <a class="link" href="mysqld.html" title="6.3.1 mysqld — The MySQL Server">
       <span class="command">
        <strong>
         mysqld
        </strong>
       </span>
      </a>
      processes acts as a
            source and as a replica, you should set
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-maxnoofsubscribers">
       <code class="literal">
        MaxNoOfSubscribers
       </code>
      </a>
      equal to
      <code class="literal">
       3 * MaxNoOfTables
      </code>
      .
     </p>
     <p>
      For more information, see
      <a class="xref" href="mysql-cluster-replication.html" title="25.7 NDB Cluster Replication">
       Section 25.7, “NDB Cluster Replication”
      </a>
      .
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-maxnoofconcurrentsuboperations">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-maxnoofconcurrentsuboperations">
       <code class="literal">
        MaxNoOfConcurrentSubOperations
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045118280384">
     </a>
     <div class="informaltable">
      <a name="maxnoofconcurrentsuboperations-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="MaxNoOfConcurrentSubOperations data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          unsigned
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          256
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          0 - 4294967039 (0xFFFFFEFF)
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      This parameter sets a ceiling on the number of operations
            that can be performed by all API nodes in the cluster at one
            time. The default value (256) is sufficient for normal
            operations, and might need to be adjusted only in scenarios
            where there are a great many API nodes each performing a
            high volume of operations concurrently.
     </p>
    </li>
   </ul>
  </div>
  <p>
   <a name="mysql-cluster-boolean-parameters">
   </a>
   <b>
    Boolean parameters.
   </b>
   The behavior of data nodes is also affected by a set of
   <code class="literal">
    [ndbd]
   </code>
   parameters taking on boolean values.
          These parameters can each be specified as
   <code class="literal">
    TRUE
   </code>
   by setting them equal to
   <code class="literal">
    1
   </code>
   or
   <code class="literal">
    Y
   </code>
   , and as
   <code class="literal">
    FALSE
   </code>
   by setting them equal to
   <code class="literal">
    0
   </code>
   or
   <code class="literal">
    N
   </code>
   .
  </p>
  <div class="itemizedlist">
   <ul class="itemizedlist" style="list-style-type: disc; ">
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-compressedlcp">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-compressedlcp">
       <code class="literal">
        CompressedLCP
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045118252000">
     </a>
     <div class="informaltable">
      <a name="compressedlcp-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="CompressedLCP data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          boolean
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          false
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          true, false
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      Setting this parameter to
      <code class="literal">
       1
      </code>
      causes local
            checkpoint files to be compressed. The compression used is
            equivalent to
      <span class="command">
       <strong>
        gzip --fast
       </strong>
      </span>
      , and can save
            50% or more of the space required on the data node to store
            uncompressed checkpoint files. Compressed LCPs can be
            enabled for individual data nodes, or for all data nodes (by
            setting this parameter in the
      <code class="literal">
       [ndbd
            default]
      </code>
      section of the
      <code class="filename">
       config.ini
      </code>
      file).
     </p>
     <div class="important" style="margin-left: 0.5in; margin-right: 0.5in;">
      <div class="admon-title">
       Important
      </div>
      <p>
       You cannot restore a compressed local checkpoint to a
              cluster running a MySQL version that does not support this
              feature.
      </p>
     </div>
     <p>
      The default value is
      <code class="literal">
       0
      </code>
      (disabled).
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-crashoncorruptedtuple">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-crashoncorruptedtuple">
       <code class="literal">
        CrashOnCorruptedTuple
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045118226336">
     </a>
     <div class="informaltable">
      <a name="crashoncorruptedtuple-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="CrashOnCorruptedTuple data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          boolean
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          true
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          true, false
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      When this parameter is enabled (the default), it forces a
            data node to shut down whenever it encounters a corrupted
            tuple.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-diskless">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-diskless">
       <code class="literal">
        Diskless
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045118205888">
     </a>
     <div class="informaltable">
      <a name="diskless-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="Diskless data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          true|false (1|0)
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          false
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          true, false
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Initial System Restart:
            </strong>
           </span>
           Requires a complete shutdown of the
                    cluster, wiping and restoring the cluster file
                    system from a
           <a class="link" href="mysql-cluster-backup.html" title="25.6.8 Online Backup of NDB Cluster">
            backup
           </a>
           ,
                    and then restarting the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      It is possible to specify NDB Cluster tables as
      <span class="firstterm">
       diskless
      </span>
      , meaning that
            tables are not checkpointed to disk and that no logging
            occurs. Such tables exist only in main memory. A consequence
            of using diskless tables is that neither the tables nor the
            records in those tables survive a crash. However, when
            operating in diskless mode, it is possible to run
      <a class="link" href="mysql-cluster-programs-ndbd.html" title="25.5.1 ndbd — The NDB Cluster Data Node Daemon">
       <span class="command">
        <strong>
         ndbd
        </strong>
       </span>
      </a>
      on a diskless computer.
     </p>
     <div class="important" style="margin-left: 0.5in; margin-right: 0.5in;">
      <div class="admon-title">
       Important
      </div>
      <p>
       This feature causes the
       <span class="emphasis">
        <em>
         entire
        </em>
       </span>
       cluster to operate in diskless mode.
      </p>
     </div>
     <p>
      When this feature is enabled, NDB Cluster online backup is
            disabled. In addition, a partial start of the cluster is not
            possible.
     </p>
     <p>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-diskless">
       <code class="literal">
        Diskless
       </code>
      </a>
      is disabled
            by default.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-encryptedfilesystem">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-encryptedfilesystem">
       <code class="literal">
        EncryptedFileSystem
       </code>
      </a>
     </p>
     <div class="informaltable">
      <a name="encryptedfilesystem-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="EncryptedFileSystem data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          unsigned
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          0
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          0 - 1
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Initial Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster; each data node must
                    be restarted with
           <a class="link" href="mysql-cluster-programs-ndbd.html#option_ndbd_initial">
            <code class="option">
             --initial
            </code>
           </a>
           . (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      Encrypt LCP and tablespace files, including undo logs and
            redo logs. Disabled by default (
      <code class="literal">
       0
      </code>
      ); set
            to
      <code class="literal">
       1
      </code>
      to enable.
     </p>
     <div class="important" style="margin-left: 0.5in; margin-right: 0.5in;">
      <div class="admon-title">
       Important
      </div>
      <p>
       When file system encryption is enabled, you must supply a
              password to each data node when starting it, using one of
              the options
       <a class="link" href="mysql-cluster-programs-ndbd.html#option_ndbd_filesystem-password">
        <code class="option">
         --filesystem-password
        </code>
       </a>
       or
       <a class="link" href="mysql-cluster-programs-ndbd.html#option_ndbd_filesystem-password-from-stdin">
        <code class="option">
         --filesystem-password-from-stdin
        </code>
       </a>
       .
              Otherwise, the data node cannot start.
      </p>
     </div>
     <p>
      For more information, see
      <a class="xref" href="mysql-cluster-tde.html" title="25.6.14 File System Encryption for NDB Cluster">
       Section 25.6.14, “File System Encryption for NDB Cluster”
      </a>
      .
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-latealloc">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-latealloc">
       <code class="literal">
        LateAlloc
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045118153200">
     </a>
     <div class="informaltable">
      <a name="latealloc-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="LateAlloc data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          numeric
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          1
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          0 - 1
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      Allocate memory for this data node after a connection to the
            management server has been established. Enabled by default.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-lockpagesinmainmemory">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-lockpagesinmainmemory">
       <code class="literal">
        LockPagesInMainMemory
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045118132688">
     </a>
     <div class="informaltable">
      <a name="lockpagesinmainmemory-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="LockPagesInMainMemory data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          numeric
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          0
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          0 - 2
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      For a number of operating systems, including Solaris and
            Linux, it is possible to lock a process into memory and so
            avoid any swapping to disk. This can be used to help
            guarantee the cluster's real-time characteristics.
     </p>
     <p>
      This parameter takes one of the integer values
      <code class="literal">
       0
      </code>
      ,
      <code class="literal">
       1
      </code>
      , or
      <code class="literal">
       2
      </code>
      , which act as shown in the following
            list:
     </p>
     <div class="itemizedlist">
      <ul class="itemizedlist" style="list-style-type: circle; ">
       <li class="listitem">
        <p>
         <code class="literal">
          0
         </code>
         : Disables locking. This is the
                default value.
        </p>
       </li>
       <li class="listitem">
        <p>
         <code class="literal">
          1
         </code>
         : Performs the lock after allocating
                memory for the process.
        </p>
       </li>
       <li class="listitem">
        <p>
         <code class="literal">
          2
         </code>
         : Performs the lock before memory
                for the process is allocated.
        </p>
       </li>
      </ul>
     </div>
     <p>
      If the operating system is not configured to permit
            unprivileged users to lock pages, then the data node process
            making use of this parameter may have to be run as system
            root.
            (
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-lockpagesinmainmemory">
       <code class="literal">
        LockPagesInMainMemory
       </code>
      </a>
      uses the
      <code class="literal">
       mlockall
      </code>
      function. From Linux
            kernel 2.6.9, unprivileged users can lock memory as limited
            by
      <code class="literal">
       max locked memory
      </code>
      . For more
            information, see
      <span class="command">
       <strong>
        ulimit -l
       </strong>
      </span>
      and
      <a class="ulink" href="http://linux.die.net/man/2/mlock" target="_blank">
       http://linux.die.net/man/2/mlock
      </a>
      ).
     </p>
     <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
      <div class="admon-title">
       Note
      </div>
      <p>
       In older NDB Cluster releases, this parameter was a
              Boolean.
       <code class="literal">
        0
       </code>
       or
       <code class="literal">
        false
       </code>
       was the default setting, and disabled locking.
       <code class="literal">
        1
       </code>
       or
       <code class="literal">
        true
       </code>
       enabled
              locking of the process after its memory was allocated. NDB
              Cluster 8.4 treats
       <code class="literal">
        true
       </code>
       or
       <code class="literal">
        false
       </code>
       for the value of this parameter
              as an error.
      </p>
     </div>
     <div class="important" style="margin-left: 0.5in; margin-right: 0.5in;">
      <div class="admon-title">
       Important
      </div>
      <p>
       Beginning with
       <code class="literal">
        glibc
       </code>
       2.10,
       <code class="literal">
        glibc
       </code>
       uses per-thread arenas to reduce
              lock contention on a shared pool, which consumes real
              memory. In general, a data node process does not need
              per-thread arenas, since it does not perform any memory
              allocation after startup. (This difference in allocators
              does not appear to affect performance significantly.)
      </p>
      <p>
       The
       <code class="literal">
        glibc
       </code>
       behavior is intended to be
              configurable via the
       <code class="literal">
        MALLOC_ARENA_MAX
       </code>
       environment variable, but a bug in this mechanism prior to
       <code class="literal">
        glibc
       </code>
       2.16 meant that this variable
              could not be set to less than 8, so that the wasted memory
              could not be reclaimed. (Bug #15907219; see also
       <a class="ulink" href="http://sourceware.org/bugzilla/show_bug.cgi?id=13137" target="_blank">
        http://sourceware.org/bugzilla/show_bug.cgi?id=13137
       </a>
       for more information concerning this issue.)
      </p>
      <p>
       One possible workaround for this problem is to use the
       <code class="literal">
        LD_PRELOAD
       </code>
       environment variable to
              preload a
       <code class="literal">
        jemalloc
       </code>
       memory allocation
              library to take the place of that supplied with
       <code class="literal">
        glibc
       </code>
       .
      </p>
     </div>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-odirect">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-odirect">
       <code class="literal">
        ODirect
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045118085616">
     </a>
     <div class="informaltable">
      <a name="odirect-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="ODirect data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          boolean
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          false
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          true, false
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      Enabling this parameter causes
      <a class="link" href="mysql-cluster.html" title="Chapter 25 MySQL NDB Cluster 8.4">
       <code class="literal">
        NDB
       </code>
      </a>
      to attempt using
      <code class="literal">
       O_DIRECT
      </code>
      writes for LCP, backups, and
            redo logs, often lowering
      <span class="command">
       <strong>
        kswapd
       </strong>
      </span>
      and CPU
            usage. When using NDB Cluster on Linux, enable
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-odirect">
       <code class="literal">
        ODirect
       </code>
      </a>
      if you are
            using a 2.6 or later kernel.
     </p>
     <p>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-odirect">
       <code class="literal">
        ODirect
       </code>
      </a>
      is disabled
            by default.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-odirectsyncflag">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-odirectsyncflag">
       <code class="literal">
        ODirectSyncFlag
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045118059536">
     </a>
     <div class="informaltable">
      <a name="odirectsyncflag-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="ODirectSyncFlag data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          boolean
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          false
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          true, false
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      When this parameter is enabled, redo log writes are
            performed such that each completed file system write is
            handled as a call to
      <code class="literal">
       fsync
      </code>
      . The setting
            for this parameter is ignored if at least one of the
            following conditions is true:
     </p>
     <div class="itemizedlist">
      <ul class="itemizedlist" style="list-style-type: circle; ">
       <li class="listitem">
        <p>
         <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-odirect">
          <code class="literal">
           ODirect
          </code>
         </a>
         is not
                enabled.
        </p>
       </li>
       <li class="listitem">
        <p>
         <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-initfragmentlogfiles">
          <code class="literal">
           InitFragmentLogFiles
          </code>
         </a>
         is set to
         <code class="literal">
          SPARSE
         </code>
         .
        </p>
       </li>
      </ul>
     </div>
     <p>
      Disabled by default.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-requirecertificate">
      </a>
      <code class="literal">
       RequireCertificate
      </code>
     </p>
     <a class="indexterm" name="idm46045118033184">
     </a>
     <div class="informaltable">
      <a name="requirecertificate-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="RequireCertificate data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          boolean
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          false
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          ...
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      If this parameter is set to
      <code class="literal">
       true
      </code>
      , the
            data node looks for a key and a valid and current
            certificate in the TLS search path, and cannot start if it
            does not find them.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-requiretls">
      </a>
      <code class="literal">
       RequireTls
      </code>
     </p>
     <a class="indexterm" name="idm46045118012096">
     </a>
     <div class="informaltable">
      <a name="requiretls-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="RequireTls data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          boolean
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          false
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          ...
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      If this parameter is set to
      <code class="literal">
       true
      </code>
      ,
            connections to this data node must be authenticated using
            TLS.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-restartonerrorinsert">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-restartonerrorinsert">
       <code class="literal">
        RestartOnErrorInsert
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045117990464">
     </a>
     <div class="informaltable">
      <a name="restartonerrorinsert-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="RestartOnErrorInsert data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          error code
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          2
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          0 - 4
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      This feature is accessible only when building the debug
            version where it is possible to insert errors in the
            execution of individual blocks of code as part of testing.
     </p>
     <p>
      This feature is disabled by default.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-stoponerror">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-stoponerror">
       <code class="literal">
        StopOnError
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045117969504">
     </a>
     <div class="informaltable">
      <a name="stoponerror-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="StopOnError data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          boolean
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          1
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          0, 1
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      This parameter specifies whether a data node process should
            exit or perform an automatic restart when an error condition
            is encountered.
     </p>
     <p>
      This parameter's default value is 1; this means that,
            by default, an error causes the data node process to halt.
     </p>
     <p>
      When an error is encountered and
      <code class="literal">
       StopOnError
      </code>
      is 0, the data node process
            is restarted.
     </p>
     <p>
      Users of MySQL Cluster Manager should note that, when
      <code class="literal">
       StopOnError
      </code>
      equals 1, this prevents the
            MySQL Cluster Manager agent from restarting any data nodes after it has
            performed its own restart and recovery. See
      <a class="ulink" href="/doc/mysql-cluster-manager/8.4/en/mcm-using-start-stop-agent-linux.html" target="_top">
       Starting and Stopping the Agent on Linux
      </a>
      , for more
            information.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-useshm">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-useshm">
       <code class="literal">
        UseShm
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045117945104">
     </a>
     <div class="informaltable">
      <a name="useshm-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="UseShm data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          boolean
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          false
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          true, false
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      Enable a shared memory connection between this data node and
            the API node also running on this host. Set to 1 to enable.
     </p>
    </li>
   </ul>
  </div>
  <h5>
   <a name="mysql-cluster-timeouts-intervals-disk-paging">
   </a>
   Controlling Timeouts, Intervals, and Disk Paging
  </h5>
  <p>
   There are a number of
   <code class="literal">
    [ndbd]
   </code>
   parameters
        specifying timeouts and intervals between various actions in
        Cluster data nodes. Most of the timeout values are specified in
        milliseconds. Any exceptions to this are mentioned where
        applicable.
  </p>
  <div class="itemizedlist">
   <ul class="itemizedlist" style="list-style-type: disc; ">
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-timebetweenwatchdogcheck">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-timebetweenwatchdogcheck">
       <code class="literal">
        TimeBetweenWatchDogCheck
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045117921600">
     </a>
     <div class="informaltable">
      <a name="timebetweenwatchdogcheck-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="TimeBetweenWatchDogCheck data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          milliseconds
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          6000
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          70 - 4294967039 (0xFFFFFEFF)
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      To prevent the main thread from getting stuck in an endless
            loop at some point, a
      <span class="quote">
       “
       <span class="quote">
        watchdog
       </span>
       ”
      </span>
      thread checks
            the main thread. This parameter specifies the number of
            milliseconds between checks. If the process remains in the
            same state after three checks, the watchdog thread
            terminates it.
     </p>
     <p>
      This parameter can easily be changed for purposes of
            experimentation or to adapt to local conditions. It can be
            specified on a per-node basis although there seems to be
            little reason for doing so.
     </p>
     <p>
      The default timeout is 6000 milliseconds (6 seconds).
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-timebetweenwatchdogcheckinitial">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-timebetweenwatchdogcheckinitial">
       <code class="literal">
        TimeBetweenWatchDogCheckInitial
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045117899104">
     </a>
     <div class="informaltable">
      <a name="timebetweenwatchdogcheckinitial-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="TimeBetweenWatchDogCheckInitial data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          milliseconds
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          6000
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          70 - 4294967039 (0xFFFFFEFF)
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      This is similar to the
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-timebetweenwatchdogcheck">
       <code class="literal">
        TimeBetweenWatchDogCheck
       </code>
      </a>
      parameter, except that
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-timebetweenwatchdogcheckinitial">
       <code class="literal">
        TimeBetweenWatchDogCheckInitial
       </code>
      </a>
      controls the amount of time that passes between execution
            checks inside a storage node in the early start phases
            during which memory is allocated.
     </p>
     <p>
      The default timeout is 6000 milliseconds (6 seconds).
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-startpartialtimeout">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-startpartialtimeout">
       <code class="literal">
        StartPartialTimeout
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045117875392">
     </a>
     <div class="informaltable">
      <a name="startpartialtimeout-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="StartPartialTimeout data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          milliseconds
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          30000
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          0 - 4294967039 (0xFFFFFEFF)
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      This parameter specifies how long the Cluster waits for all
            data nodes to come up before the cluster initialization
            routine is invoked. This timeout is used to avoid a partial
            Cluster startup whenever possible.
     </p>
     <p>
      This parameter is overridden when performing an initial
            start or initial restart of the cluster.
     </p>
     <p>
      The default value is 30000 milliseconds (30 seconds). 0
            disables the timeout, in which case the cluster may start
            only if all nodes are available.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-startpartitionedtimeout">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-startpartitionedtimeout">
       <code class="literal">
        StartPartitionedTimeout
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045117853664">
     </a>
     <div class="informaltable">
      <a name="startpartitionedtimeout-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="StartPartitionedTimeout data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          milliseconds
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          0
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          0 - 4294967039 (0xFFFFFEFF)
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      If the cluster is ready to start after waiting for
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-startpartialtimeout">
       <code class="literal">
        StartPartialTimeout
       </code>
      </a>
      milliseconds but is still possibly in a partitioned state,
            the cluster waits until this timeout has also passed. If
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-startpartitionedtimeout">
       <code class="literal">
        StartPartitionedTimeout
       </code>
      </a>
      is set to 0, the cluster waits indefinitely
            (2
      <sup>
       32
      </sup>
      −1 ms, or approximately
            49.71 days).
     </p>
     <p>
      This parameter is overridden when performing an initial
            start or initial restart of the cluster.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-startfailuretimeout">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-startfailuretimeout">
       <code class="literal">
        StartFailureTimeout
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045117829504">
     </a>
     <div class="informaltable">
      <a name="startfailuretimeout-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="StartFailureTimeout data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          milliseconds
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          0
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          0 - 4294967039 (0xFFFFFEFF)
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      If a data node has not completed its startup sequence within
            the time specified by this parameter, the node startup
            fails. Setting this parameter to 0 (the default value) means
            that no data node timeout is applied.
     </p>
     <p>
      For nonzero values, this parameter is measured in
            milliseconds. For data nodes containing extremely large
            amounts of data, this parameter should be increased. For
            example, in the case of a data node containing several
            gigabytes of data, a period as long as 10−15 minutes
            (that is, 600000 to 1000000 milliseconds) might be required
            to perform a node restart.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-startnonodegrouptimeout">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-startnonodegrouptimeout">
       <code class="literal">
        StartNoNodeGroupTimeout
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045117807616">
     </a>
     <div class="informaltable">
      <a name="startnonodegrouptimeout-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="StartNoNodeGroupTimeout data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          milliseconds
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          15000
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          0 - 4294967039 (0xFFFFFEFF)
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      When a data node is configured with
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-nodegroup">
       <code class="literal">
        Nodegroup = 65536
       </code>
      </a>
      ,
            is regarded as not being assigned to any node group. When
            that is done, the cluster waits
      <code class="literal">
       StartNoNodegroupTimeout
      </code>
      milliseconds,
            then treats such nodes as though they had been added to the
            list passed to the
      <a class="link" href="mysql-cluster-programs-ndbd.html#option_ndbd_nowait-nodes">
       <code class="option">
        --nowait-nodes
       </code>
      </a>
      option, and
            starts. The default value is
      <code class="literal">
       15000
      </code>
      (that
            is, the management server waits 15 seconds). Setting this
            parameter equal to
      <code class="literal">
       0
      </code>
      means that the
            cluster waits indefinitely.
     </p>
     <p>
      <code class="literal">
       StartNoNodegroupTimeout
      </code>
      must be the same
            for all data nodes in the cluster; for this reason, you
            should always set it in the
      <code class="literal">
       [ndbd
            default]
      </code>
      section of the
      <code class="filename">
       config.ini
      </code>
      file, rather than for
            individual data nodes.
     </p>
     <p>
      See
      <a class="xref" href="mysql-cluster-online-add-node.html" title="25.6.7 Adding NDB Cluster Data Nodes Online">
       Section 25.6.7, “Adding NDB Cluster Data Nodes Online”
      </a>
      , for
            more information.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-heartbeatintervaldbdb">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-heartbeatintervaldbdb">
       <code class="literal">
        HeartbeatIntervalDbDb
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045117778448">
     </a>
     <div class="informaltable">
      <a name="heartbeatintervaldbdb-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="HeartbeatIntervalDbDb data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          milliseconds
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          5000
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          10 - 4294967039 (0xFFFFFEFF)
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      One of the primary methods of discovering failed nodes is by
            the use of heartbeats. This parameter states how often
            heartbeat signals are sent and how often to expect to
            receive them. Heartbeats cannot be disabled.
     </p>
     <p>
      After missing four heartbeat intervals in a row, the node is
            declared dead. Thus, the maximum time for discovering a
            failure through the heartbeat mechanism is five times the
            heartbeat interval.
     </p>
     <p>
      The default heartbeat interval is 5000 milliseconds (5
            seconds). This parameter must not be changed drastically and
            should not vary widely between nodes. If one node uses 5000
            milliseconds and the node watching it uses 1000
            milliseconds, obviously the node is declared dead very
            quickly. This parameter can be changed during an online
            software upgrade, but only in small increments.
     </p>
     <p>
      See also
      <a class="xref" href="mysql-cluster-overview-requirements.html#mysql-cluster-network-latency-issues" title="Network communication and latency">
       Network communication and latency
      </a>
      , as
            well as the description of the
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-connectcheckintervaldelay">
       <code class="literal">
        ConnectCheckIntervalDelay
       </code>
      </a>
      configuration parameter.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-heartbeatintervaldbapi">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-heartbeatintervaldbapi">
       <code class="literal">
        HeartbeatIntervalDbApi
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045117753680">
     </a>
     <div class="informaltable">
      <a name="heartbeatintervaldbapi-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="HeartbeatIntervalDbApi data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          milliseconds
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          1500
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          100 - 4294967039 (0xFFFFFEFF)
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      Each data node sends heartbeat signals to each MySQL server
            (SQL node) to ensure that it remains in contact. If a MySQL
            server fails to send a heartbeat in time it is declared
      <span class="quote">
       “
       <span class="quote">
        dead,
       </span>
       ”
      </span>
      in which case all ongoing transactions
            are completed and all resources released. The SQL node
            cannot reconnect until all activities initiated by the
            previous MySQL instance have been completed. The
            three-heartbeat criteria for this determination are the same
            as described for
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-heartbeatintervaldbdb">
       <code class="literal">
        HeartbeatIntervalDbDb
       </code>
      </a>
      .
     </p>
     <p>
      The default interval is 1500 milliseconds (1.5 seconds).
            This interval can vary between individual data nodes because
            each data node watches the MySQL servers connected to it,
            independently of all other data nodes.
     </p>
     <p>
      For more information, see
      <a class="xref" href="mysql-cluster-overview-requirements.html#mysql-cluster-network-latency-issues" title="Network communication and latency">
       Network communication and latency
      </a>
      .
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-heartbeatorder">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-heartbeatorder">
       <code class="literal">
        HeartbeatOrder
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045117729248">
     </a>
     <div class="informaltable">
      <a name="heartbeatorder-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="HeartbeatOrder data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          numeric
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          0
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          0 - 65535
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             System Restart:
            </strong>
           </span>
           Requires a complete shutdown and restart
                    of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      Data nodes send heartbeats to one another in a circular
            fashion whereby each data node monitors the previous one. If
            a heartbeat is not detected by a given data node, this node
            declares the previous data node in the circle
      <span class="quote">
       “
       <span class="quote">
        dead
       </span>
       ”
      </span>
      (that is, no longer accessible by the
            cluster). The determination that a data node is dead is done
            globally; in other words; once a data node is declared dead,
            it is regarded as such by all nodes in the cluster.
     </p>
     <p>
      It is possible for heartbeats between data nodes residing on
            different hosts to be too slow compared to heartbeats
            between other pairs of nodes (for example, due to a very low
            heartbeat interval or temporary connection problem), such
            that a data node is declared dead, even though the node can
            still function as part of the cluster. .
     </p>
     <p>
      In this type of situation, it may be that the order in which
            heartbeats are transmitted between data nodes makes a
            difference as to whether or not a particular data node is
            declared dead. If this declaration occurs unnecessarily,
            this can in turn lead to the unnecessary loss of a node
            group and as thus to a failure of the cluster.
     </p>
     <p>
      Consider a setup where there are 4 data nodes A, B, C, and D
            running on 2 host computers
      <code class="literal">
       host1
      </code>
      and
      <code class="literal">
       host2
      </code>
      , and that these data nodes make up
            2 node groups, as shown in the following table:
     </p>
     <div class="table">
      <a name="idm46045117707168">
      </a>
      <p class="title">
       <b>
        Table 25.9 Four data nodes A, B, C, D running on two host computers
                host1, host2; each data node belongs to one of two node
groups.
       </b>
      </p>
      <div class="table-contents">
       <table>
        <colgroup>
         <col style="width: 33%"/>
         <col style="width: 34%"/>
         <col style="width: 33%"/>
        </colgroup>
        <thead>
         <tr>
          <th scope="col">
           Node Group
          </th>
          <th scope="col">
           Nodes Running on
           <code class="literal">
            host1
           </code>
          </th>
          <th scope="col">
           Nodes Running on
           <code class="literal">
            host2
           </code>
          </th>
         </tr>
        </thead>
        <tbody>
         <tr>
          <th scope="row">
           Node Group 0:
          </th>
          <td>
           Node A
          </td>
          <td>
           Node B
          </td>
         </tr>
         <tr>
          <th scope="row">
           Node Group 1:
          </th>
          <td>
           Node C
          </td>
          <td>
           Node D
          </td>
         </tr>
        </tbody>
       </table>
      </div>
     </div>
     <br class="table-break"/>
     <p>
      Suppose the heartbeats are transmitted in the order
            A-&gt;B-&gt;C-&gt;D-&gt;A. In this case, the loss of the
            heartbeat between the hosts causes node B to declare node A
            dead and node C to declare node B dead. This results in loss
            of Node Group 0, and so the cluster fails. On the other
            hand, if the order of transmission is
            A-&gt;B-&gt;D-&gt;C-&gt;A (and all other conditions remain
            as previously stated), the loss of the heartbeat causes
            nodes A and D to be declared dead; in this case, each node
            group has one surviving node, and the cluster survives.
     </p>
     <p>
      The
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-heartbeatorder">
       <code class="literal">
        HeartbeatOrder
       </code>
      </a>
      configuration parameter makes the order of heartbeat
            transmission user-configurable. The default value for
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-heartbeatorder">
       <code class="literal">
        HeartbeatOrder
       </code>
      </a>
      is
            zero; allowing the default value to be used on all data
            nodes causes the order of heartbeat transmission to be
            determined by
      <code class="literal">
       NDB
      </code>
      . If this parameter is
            used, it must be set to a nonzero value (maximum 65535) for
            every data node in the cluster, and this value must be
            unique for each data node; this causes the heartbeat
            transmission to proceed from data node to data node in the
            order of their
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-heartbeatorder">
       <code class="literal">
        HeartbeatOrder
       </code>
      </a>
      values from lowest to highest (and then directly from the
            data node having the highest
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-heartbeatorder">
       <code class="literal">
        HeartbeatOrder
       </code>
      </a>
      to
            the data node having the lowest value, to complete the
            circle). The values need not be consecutive. For example, to
            force the heartbeat transmission order
            A-&gt;B-&gt;D-&gt;C-&gt;A in the scenario outlined
            previously, you could set the
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-heartbeatorder">
       <code class="literal">
        HeartbeatOrder
       </code>
      </a>
      values as shown here:
     </p>
     <div class="table">
      <a name="idm46045117681664">
      </a>
      <p class="title">
       <b>
        Table 25.10 HeartbeatOrder values to force a heartbeat transition order of
A-&gt;B-&gt;D-&gt;C-&gt;A.
       </b>
      </p>
      <div class="table-contents">
       <table>
        <colgroup>
         <col style="width: 50%"/>
         <col style="width: 50%"/>
        </colgroup>
        <thead>
         <tr>
          <th>
           Node
          </th>
          <th>
           <code class="literal">
            HeartbeatOrder
           </code>
           Value
          </th>
         </tr>
        </thead>
        <tbody>
         <tr>
          <td>
           A
          </td>
          <td>
           10
          </td>
         </tr>
         <tr>
          <td>
           B
          </td>
          <td>
           20
          </td>
         </tr>
         <tr>
          <td>
           C
          </td>
          <td>
           30
          </td>
         </tr>
         <tr>
          <td>
           D
          </td>
          <td>
           25
          </td>
         </tr>
        </tbody>
       </table>
      </div>
     </div>
     <br class="table-break"/>
     <p>
      To use this parameter to change the heartbeat transmission
            order in a running NDB Cluster, you must first set
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-heartbeatorder">
       <code class="literal">
        HeartbeatOrder
       </code>
      </a>
      for
            each data node in the cluster in the global configuration
            (
      <code class="filename">
       config.ini
      </code>
      ) file (or files). To cause
            the change to take effect, you must perform either of the
            following:
     </p>
     <div class="itemizedlist">
      <ul class="itemizedlist" style="list-style-type: circle; ">
       <li class="listitem">
        <p>
         A complete shutdown and restart of the entire cluster.
        </p>
       </li>
       <li class="listitem">
        <p>
         2 rolling restarts of the cluster in succession.
         <span class="emphasis">
          <em>
           All nodes must be restarted in the same order
                in both rolling restarts
          </em>
         </span>
         .
        </p>
       </li>
      </ul>
     </div>
     <p>
      You can use
      <a class="ulink" href="/doc/ndb-internals/en/dump-command-908.html" target="_top">
       <code class="literal">
        DUMP 908
       </code>
      </a>
      to
            observe the effect of this parameter in the data node logs.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-connectcheckintervaldelay">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-connectcheckintervaldelay">
       <code class="literal">
        ConnectCheckIntervalDelay
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045117657792">
     </a>
     <div class="informaltable">
      <a name="connectcheckintervaldelay-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="ConnectCheckIntervalDelay data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          milliseconds
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          0
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          0 - 4294967039 (0xFFFFFEFF)
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      This parameter enables connection checking between data
            nodes after one of them has failed heartbeat checks for 5
            intervals of up to
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-heartbeatintervaldbdb">
       <code class="literal">
        HeartbeatIntervalDbDb
       </code>
      </a>
      milliseconds.
     </p>
     <p>
      Such a data node that further fails to respond within an
            interval of
      <code class="literal">
       ConnectCheckIntervalDelay
      </code>
      milliseconds is considered suspect, and is considered dead
            after two such intervals. This can be useful in setups with
            known latency issues.
     </p>
     <p>
      The default value for this parameter is 0 (disabled).
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-timebetweenlocalcheckpoints">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-timebetweenlocalcheckpoints">
       <code class="literal">
        TimeBetweenLocalCheckpoints
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045117633984">
     </a>
     <div class="informaltable">
      <a name="timebetweenlocalcheckpoints-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="TimeBetweenLocalCheckpoints data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          number of 4-byte words, as base-2 logarithm
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          20
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          0 - 31
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      This parameter is an exception in that it does not specify a
            time to wait before starting a new local checkpoint; rather,
            it is used to ensure that local checkpoints are not
            performed in a cluster where relatively few updates are
            taking place. In most clusters with high update rates, it is
            likely that a new local checkpoint is started immediately
            after the previous one has been completed.
     </p>
     <p>
      The size of all write operations executed since the start of
            the previous local checkpoints is added. This parameter is
            also exceptional in that it is specified as the base-2
            logarithm of the number of 4-byte words, so that the default
            value 20 means 4MB (4 ×
            2
      <sup>
       20
      </sup>
      ) of write operations, 21
            would mean 8MB, and so on up to a maximum value of 31, which
            equates to 8GB of write operations.
     </p>
     <p>
      All the write operations in the cluster are added together.
            Setting
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-timebetweenlocalcheckpoints">
       <code class="literal">
        TimeBetweenLocalCheckpoints
       </code>
      </a>
      to 6 or less means that local checkpoints are executed
            continuously without pause, independent of the cluster's
            workload.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-timebetweenglobalcheckpoints">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-timebetweenglobalcheckpoints">
       <code class="literal">
        TimeBetweenGlobalCheckpoints
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045117609488">
     </a>
     <div class="informaltable">
      <a name="timebetweenglobalcheckpoints-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="TimeBetweenGlobalCheckpoints data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          milliseconds
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          2000
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          20 - 32000
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      When a transaction is committed, it is committed in main
            memory in all nodes on which the data is mirrored. However,
            transaction log records are not flushed to disk as part of
            the commit. The reasoning behind this behavior is that
            having the transaction safely committed on at least two
            autonomous host machines should meet reasonable standards
            for durability.
     </p>
     <p>
      It is also important to ensure that even the worst of
            cases—a complete crash of the cluster—is handled
            properly. To guarantee that this happens, all transactions
            taking place within a given interval are put into a global
            checkpoint, which can be thought of as a set of committed
            transactions that has been flushed to disk. In other words,
            as part of the commit process, a transaction is placed in a
            global checkpoint group. Later, this group's log
            records are flushed to disk, and then the entire group of
            transactions is safely committed to disk on all computers in
            the cluster.
     </p>
     <p>
      We recommended when you are using solid-state disks
            (especially those employing NVMe) with Disk Data tables that
            you reduce this value. In such cases, you should also ensure
            that
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-maxdiskdatalatency">
       <code class="literal">
        MaxDiskDataLatency
       </code>
      </a>
      is set to a proper level.
     </p>
     <p>
      This parameter defines the interval between global
            checkpoints. The default is 2000 milliseconds.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-timebetweenglobalcheckpointstimeout">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-timebetweenglobalcheckpointstimeout">
       <code class="literal">
        TimeBetweenGlobalCheckpointsTimeout
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045117584960">
     </a>
     <div class="informaltable">
      <a name="timebetweenglobalcheckpointstimeout-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="TimeBetweenGlobalCheckpointsTimeout data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          milliseconds
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          120000
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          10 - 4294967039 (0xFFFFFEFF)
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      This parameter defines the minimum timeout between global
            checkpoints. The default is 120000 milliseconds.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-timebetweenepochs">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-timebetweenepochs">
       <code class="literal">
        TimeBetweenEpochs
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045117564368">
     </a>
     <div class="informaltable">
      <a name="timebetweenepochs-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="TimeBetweenEpochs data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          milliseconds
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          100
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          0 - 32000
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      This parameter defines the interval between synchronization
            epochs for NDB Cluster Replication. The default value is 100
            milliseconds.
     </p>
     <p>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-timebetweenepochs">
       <code class="literal">
        TimeBetweenEpochs
       </code>
      </a>
      is
            part of the implementation of
      <span class="quote">
       “
       <span class="quote">
        micro-GCPs
       </span>
       ”
      </span>
      ,
            which can be used to improve the performance of NDB Cluster
            Replication.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-timebetweenepochstimeout">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-timebetweenepochstimeout">
       <code class="literal">
        TimeBetweenEpochsTimeout
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045117541648">
     </a>
     <div class="informaltable">
      <a name="timebetweenepochstimeout-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="TimeBetweenEpochsTimeout data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          milliseconds
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          0
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          0 - 256000
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      This parameter defines a timeout for synchronization epochs
            for NDB Cluster Replication. If a node fails to participate
            in a global checkpoint within the time determined by this
            parameter, the node is shut down. The default value is 0; in
            other words, the timeout is disabled.
     </p>
     <p>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-timebetweenepochstimeout">
       <code class="literal">
        TimeBetweenEpochsTimeout
       </code>
      </a>
      is part of the implementation of
      <span class="quote">
       “
       <span class="quote">
        micro-GCPs
       </span>
       ”
      </span>
      ,
            which can be used to improve the performance of NDB Cluster
            Replication.
     </p>
     <p>
      The current value of this parameter and a warning are
            written to the cluster log whenever a GCP save takes longer
            than 1 minute or a GCP commit takes longer than 10 seconds.
     </p>
     <p>
      Setting this parameter to zero has the effect of disabling
            GCP stops caused by save timeouts, commit timeouts, or both.
            The maximum possible value for this parameter is 256000
            milliseconds.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-maxbufferedepochs">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-maxbufferedepochs">
       <code class="literal">
        MaxBufferedEpochs
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045117517360">
     </a>
     <div class="informaltable">
      <a name="maxbufferedepochs-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="MaxBufferedEpochs data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          epochs
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          100
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          0 - 100000
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      The number of unprocessed epochs by which a subscribing node
            can lag behind. Exceeding this number causes a lagging
            subscriber to be disconnected.
     </p>
     <p>
      The default value of 100 is sufficient for most normal
            operations. If a subscribing node does lag enough to cause
            disconnections, it is usually due to network or scheduling
            issues with regard to processes or threads. (In rare
            circumstances, the problem may be due to a bug in the
      <a class="link" href="mysql-cluster.html" title="Chapter 25 MySQL NDB Cluster 8.4">
       <code class="literal">
        NDB
       </code>
      </a>
      client.) It may be
            desirable to set the value lower than the default when
            epochs are longer.
     </p>
     <p>
      Disconnection prevents client issues from affecting the data
            node service, running out of memory to buffer data, and
            eventually shutting down. Instead, only the client is
            affected as a result of the disconnect (by, for example gap
            events in the binary log), forcing the client to reconnect
            or restart the process.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-maxbufferedepochbytes">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-maxbufferedepochbytes">
       <code class="literal">
        MaxBufferedEpochBytes
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045117493952">
     </a>
     <div class="informaltable">
      <a name="maxbufferedepochbytes-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="MaxBufferedEpochBytes data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          bytes
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          26214400
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          26214400 (0x01900000) - 4294967039 (0xFFFFFEFF)
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      The total number of bytes allocated for buffering epochs by
            this node.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-timebetweeninactivetransactionabortcheck">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-timebetweeninactivetransactionabortcheck">
       <code class="literal">
        TimeBetweenInactiveTransactionAbortCheck
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045117473440">
     </a>
     <div class="informaltable">
      <a name="timebetweeninactivetransactionabortcheck-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="TimeBetweenInactiveTransactionAbortCheck data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          milliseconds
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          1000
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          1000 - 4294967039 (0xFFFFFEFF)
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      Timeout handling is performed by checking a timer on each
            transaction once for every interval specified by this
            parameter. Thus, if this parameter is set to 1000
            milliseconds, every transaction is checked for timing out
            once per second.
     </p>
     <p>
      The default value is 1000 milliseconds (1 second).
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-transactioninactivetimeout">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-transactioninactivetimeout">
       <code class="literal">
        TransactionInactiveTimeout
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045117452032">
     </a>
     <div class="informaltable">
      <a name="transactioninactivetimeout-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="TransactionInactiveTimeout data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          milliseconds
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          4294967039 (0xFFFFFEFF)
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          0 - 4294967039 (0xFFFFFEFF)
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      This parameter states the maximum time that is permitted to
            lapse between operations in the same transaction before the
            transaction is aborted.
     </p>
     <p>
      The default for this parameter is
      <code class="literal">
       4G
      </code>
      (also the maximum). For a real-time database that needs to
            ensure that no transaction keeps locks for too long, this
            parameter should be set to a relatively small value. Setting
            it to 0 means that the application never times out. The unit
            is milliseconds.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-transactiondeadlockdetectiontimeout">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-transactiondeadlockdetectiontimeout">
       <code class="literal">
        TransactionDeadlockDetectionTimeout
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045117429792">
     </a>
     <div class="informaltable">
      <a name="transactiondeadlockdetectiontimeout-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="TransactionDeadlockDetectionTimeout data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          milliseconds
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          1200
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          50 - 4294967039 (0xFFFFFEFF)
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      When a node executes a query involving a transaction, the
            node waits for the other nodes in the cluster to respond
            before continuing. This parameter sets the amount of time
            that the transaction can spend executing within a data node,
            that is, the time that the transaction coordinator waits for
            each data node participating in the transaction to execute a
            request.
     </p>
     <p>
      A failure to respond can occur for any of the following
            reasons:
     </p>
     <div class="itemizedlist">
      <ul class="itemizedlist" style="list-style-type: circle; ">
       <li class="listitem">
        <p>
         The node is
         <span class="quote">
          “
          <span class="quote">
           dead
          </span>
          ”
         </span>
        </p>
       </li>
       <li class="listitem">
        <p>
         The operation has entered a lock queue
        </p>
       </li>
       <li class="listitem">
        <p>
         The node requested to perform the action could be
                heavily overloaded.
        </p>
       </li>
      </ul>
     </div>
     <p>
      This timeout parameter states how long the transaction
            coordinator waits for query execution by another node before
            aborting the transaction, and is important for both node
            failure handling and deadlock detection.
     </p>
     <p>
      The default timeout value is 1200 milliseconds (1.2
            seconds).
     </p>
     <p>
      The minimum for this parameter is 50 milliseconds.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-disksyncsize">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-disksyncsize">
       <code class="literal">
        DiskSyncSize
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045117403376">
     </a>
     <div class="informaltable">
      <a name="disksyncsize-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="DiskSyncSize data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          bytes
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          4M
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          32K - 4294967039 (0xFFFFFEFF)
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      This is the maximum number of bytes to store before flushing
            data to a local checkpoint file. This is done to prevent
            write buffering, which can impede performance significantly.
            This parameter is
      <span class="emphasis">
       <em>
        not
       </em>
      </span>
      intended to take
            the place of
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-timebetweenlocalcheckpoints">
       <code class="literal">
        TimeBetweenLocalCheckpoints
       </code>
      </a>
      .
     </p>
     <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
      <div class="admon-title">
       Note
      </div>
      <p>
       When
       <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-odirect">
        <code class="literal">
         ODirect
        </code>
       </a>
       is
              enabled, it is not necessary to set
       <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-disksyncsize">
        <code class="literal">
         DiskSyncSize
        </code>
       </a>
       ; in
              fact, in such cases its value is simply ignored.
      </p>
     </div>
     <p>
      The default value is 4M (4 megabytes).
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-maxdiskwritespeed">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-maxdiskwritespeed">
       <code class="literal">
        MaxDiskWriteSpeed
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045117377232">
     </a>
     <div class="informaltable">
      <a name="maxdiskwritespeed-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="MaxDiskWriteSpeed data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          numeric
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          20M
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          1M - 1024G
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             System Restart:
            </strong>
           </span>
           Requires a complete shutdown and restart
                    of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      Set the maximum rate for writing to disk, in bytes per
            second, by local checkpoints and backup operations when no
            restarts (by this data node or any other data node) are
            taking place in this NDB Cluster.
     </p>
     <p>
      For setting the maximum rate of disk writes allowed while
            this data node is restarting, use
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-maxdiskwritespeedownrestart">
       <code class="literal">
        MaxDiskWriteSpeedOwnRestart
       </code>
      </a>
      .
            For setting the maximum rate of disk writes allowed while
            other data nodes are restarting, use
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-maxdiskwritespeedothernoderestart">
       <code class="literal">
        MaxDiskWriteSpeedOtherNodeRestart
       </code>
      </a>
      .
            The minimum speed for disk writes by all LCPs and backup
            operations can be adjusted by setting
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-mindiskwritespeed">
       <code class="literal">
        MinDiskWriteSpeed
       </code>
      </a>
      .
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-maxdiskwritespeedothernoderestart">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-maxdiskwritespeedothernoderestart">
       <code class="literal">
        MaxDiskWriteSpeedOtherNodeRestart
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045117352736">
     </a>
     <div class="informaltable">
      <a name="maxdiskwritespeedothernoderestart-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="MaxDiskWriteSpeedOtherNodeRestart data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          numeric
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          50M
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          1M - 1024G
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             System Restart:
            </strong>
           </span>
           Requires a complete shutdown and restart
                    of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      Set the maximum rate for writing to disk, in bytes per
            second, by local checkpoints and backup operations when one
            or more data nodes in this NDB Cluster are restarting, other
            than this node.
     </p>
     <p>
      For setting the maximum rate of disk writes allowed while
            this data node is restarting, use
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-maxdiskwritespeedownrestart">
       <code class="literal">
        MaxDiskWriteSpeedOwnRestart
       </code>
      </a>
      .
            For setting the maximum rate of disk writes allowed when no
            data nodes are restarting anywhere in the cluster, use
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-maxdiskwritespeed">
       <code class="literal">
        MaxDiskWriteSpeed
       </code>
      </a>
      .
            The minimum speed for disk writes by all LCPs and backup
            operations can be adjusted by setting
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-mindiskwritespeed">
       <code class="literal">
        MinDiskWriteSpeed
       </code>
      </a>
      .
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-maxdiskwritespeedownrestart">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-maxdiskwritespeedownrestart">
       <code class="literal">
        MaxDiskWriteSpeedOwnRestart
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045117328080">
     </a>
     <div class="informaltable">
      <a name="maxdiskwritespeedownrestart-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="MaxDiskWriteSpeedOwnRestart data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          numeric
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          200M
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          1M - 1024G
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             System Restart:
            </strong>
           </span>
           Requires a complete shutdown and restart
                    of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      Set the maximum rate for writing to disk, in bytes per
            second, by local checkpoints and backup operations while
            this data node is restarting.
     </p>
     <p>
      For setting the maximum rate of disk writes allowed while
            other data nodes are restarting, use
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-maxdiskwritespeedothernoderestart">
       <code class="literal">
        MaxDiskWriteSpeedOtherNodeRestart
       </code>
      </a>
      .
            For setting the maximum rate of disk writes allowed when no
            data nodes are restarting anywhere in the cluster, use
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-maxdiskwritespeed">
       <code class="literal">
        MaxDiskWriteSpeed
       </code>
      </a>
      .
            The minimum speed for disk writes by all LCPs and backup
            operations can be adjusted by setting
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-mindiskwritespeed">
       <code class="literal">
        MinDiskWriteSpeed
       </code>
      </a>
      .
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-mindiskwritespeed">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-mindiskwritespeed">
       <code class="literal">
        MinDiskWriteSpeed
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045117303632">
     </a>
     <div class="informaltable">
      <a name="mindiskwritespeed-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="MinDiskWriteSpeed data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          numeric
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          10M
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          1M - 1024G
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             System Restart:
            </strong>
           </span>
           Requires a complete shutdown and restart
                    of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      Set the minimum rate for writing to disk, in bytes per
            second, by local checkpoints and backup operations.
     </p>
     <p>
      The maximum rates of disk writes allowed for LCPs and
            backups under various conditions are adjustable using the
            parameters
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-maxdiskwritespeed">
       <code class="literal">
        MaxDiskWriteSpeed
       </code>
      </a>
      ,
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-maxdiskwritespeedownrestart">
       <code class="literal">
        MaxDiskWriteSpeedOwnRestart
       </code>
      </a>
      ,
            and
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-maxdiskwritespeedothernoderestart">
       <code class="literal">
        MaxDiskWriteSpeedOtherNodeRestart
       </code>
      </a>
      .
            See the descriptions of these parameters for more
            information.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-arbitrationtimeout">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-arbitrationtimeout">
       <code class="literal">
        ArbitrationTimeout
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045117279472">
     </a>
     <div class="informaltable">
      <a name="arbitrationtimeout-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="ArbitrationTimeout data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          milliseconds
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          7500
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          10 - 4294967039 (0xFFFFFEFF)
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      This parameter specifies how long data nodes wait for a
            response from the arbitrator to an arbitration message. If
            this is exceeded, the network is assumed to have split.
     </p>
     <p>
      The default value is 7500 milliseconds (7.5 seconds).
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-arbitration">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-arbitration">
       <code class="literal">
        Arbitration
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045117258368">
     </a>
     <div class="informaltable">
      <a name="arbitration-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="Arbitration data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          enumeration
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          Default
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          Default, Disabled, WaitExternal
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      The
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-arbitration">
       <code class="literal">
        Arbitration
       </code>
      </a>
      parameter enables a choice of arbitration schemes,
            corresponding to one of 3 possible values for this
            parameter:
     </p>
     <div class="itemizedlist">
      <ul class="itemizedlist" style="list-style-type: circle; ">
       <li class="listitem">
        <p>
         <b>
          Default.
         </b>
         This enables arbitration to proceed normally, as
                  determined by the
         <code class="literal">
          ArbitrationRank
         </code>
         settings for the management and API nodes. This is the
                  default value.
        </p>
       </li>
       <li class="listitem">
        <p>
         <b>
          Disabled.
         </b>
         Setting
         <code class="literal">
          Arbitration = Disabled
         </code>
         in
                  the
         <code class="literal">
          [ndbd default]
         </code>
         section of the
         <code class="filename">
          config.ini
         </code>
         file to accomplishes
                  the same task as setting
         <code class="literal">
          ArbitrationRank
         </code>
         to 0 on all
                  management and API nodes. When
         <code class="literal">
          Arbitration
         </code>
         is set in this way, any
         <code class="literal">
          ArbitrationRank
         </code>
         settings are
                  ignored.
        </p>
       </li>
       <li class="listitem">
        <p>
         <b>
          WaitExternal.
         </b>
         The
         <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-arbitration">
          <code class="literal">
           Arbitration
          </code>
         </a>
         parameter also makes it possible to configure
                  arbitration in such a way that the cluster waits until
                  after the time determined by
         <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-arbitrationtimeout">
          <code class="literal">
           ArbitrationTimeout
          </code>
         </a>
         has passed for an external cluster manager application
                  to perform arbitration instead of handling arbitration
                  internally. This can be done by setting
         <code class="literal">
          Arbitration = WaitExternal
         </code>
         in the
         <code class="literal">
          [ndbd default]
         </code>
         section of the
         <code class="filename">
          config.ini
         </code>
         file. For best results
                  with the
         <code class="literal">
          WaitExternal
         </code>
         setting, it
                  is recommended that
         <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-arbitrationtimeout">
          <code class="literal">
           ArbitrationTimeout
          </code>
         </a>
         be 2 times as long as the interval required by the
                  external cluster manager to perform arbitration.
        </p>
       </li>
      </ul>
     </div>
     <div class="important" style="margin-left: 0.5in; margin-right: 0.5in;">
      <div class="admon-title">
       Important
      </div>
      <p>
       This parameter should be used only in the
       <code class="literal">
        [ndbd
              default]
       </code>
       section of the cluster configuration
              file. The behavior of the cluster is unspecified when
       <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-arbitration">
        <code class="literal">
         Arbitration
        </code>
       </a>
       is set
              to different values for individual data nodes.
      </p>
     </div>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-restartsubscriberconnecttimeout">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-restartsubscriberconnecttimeout">
       <code class="literal">
        RestartSubscriberConnectTimeout
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045117215456">
     </a>
     <div class="informaltable">
      <a name="restartsubscriberconnecttimeout-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="RestartSubscriberConnectTimeout data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          ms
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          12000
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          0 - 4294967039 (0xFFFFFEFF)
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      This parameter determines the time that a data node waits
            for subscribing API nodes to connect. Once this timeout
            expires, any
      <span class="quote">
       “
       <span class="quote">
        missing
       </span>
       ”
      </span>
      API nodes are
            disconnected from the cluster. To disable this timeout, set
      <code class="literal">
       RestartSubscriberConnectTimeout
      </code>
      to 0.
     </p>
     <p>
      While this parameter is specified in milliseconds, the
            timeout itself is resolved to the next-greatest whole
            second.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-keepalivesendinterval">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-keepalivesendinterval">
       <code class="literal">
        KeepAliveSendInterval
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045117193056">
     </a>
     <div class="informaltable">
      <a name="keepalivesendinterval-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="KeepAliveSendInterval data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          integer
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          60000
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          0 - 4294967039 (0xFFFFFEFF)
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      You can enable and control the interval between keep-alive
            signals sent between data nodes by setting this parameter.
            The default for
      <code class="literal">
       KeepAliveSendInterval
      </code>
      is
            60000 milliseconds (one minute); setting it to 0 disables
            keep-alive signals. Values between 1 and 10 inclusive are
            treated as 10.
     </p>
     <p>
      This parameter may prove useful in environments which
            monitor and disconnect idle TCP connections, possibly
            causing unnecessary data node failures when the cluster is
            idle.
     </p>
    </li>
   </ul>
  </div>
  <p>
   The heartbeat interval between management nodes and data nodes
        is always 100 milliseconds, and is not configurable.
  </p>
  <p>
   <a name="mysql-cluster-buffering-and-logging">
   </a>
   <b>
    Buffering and logging.
   </b>
   Several
   <code class="literal">
    [ndbd]
   </code>
   configuration parameters
          enable the advanced user to have more control over the
          resources used by node processes and to adjust various buffer
          sizes at need.
  </p>
  <p>
   These buffers are used as front ends to the file system when
        writing log records to disk. If the node is running in diskless
        mode, these parameters can be set to their minimum values
        without penalty due to the fact that disk writes are
   <span class="quote">
    “
    <span class="quote">
     faked
    </span>
    ”
   </span>
   by the
   <a class="link" href="mysql-cluster.html" title="Chapter 25 MySQL NDB Cluster 8.4">
    <code class="literal">
     NDB
    </code>
   </a>
   storage engine's file system abstraction layer.
  </p>
  <div class="itemizedlist">
   <ul class="itemizedlist" style="list-style-type: disc; ">
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-undoindexbuffer">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-undoindexbuffer">
       <code class="literal">
        UndoIndexBuffer
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045117165168">
     </a>
     <div class="informaltable">
      <a name="undoindexbuffer-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="UndoIndexBuffer data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          unsigned
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          2M
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          1M - 4294967039 (0xFFFFFEFF)
         </td>
        </tr>
        <tr>
         <th>
          Deprecated
         </th>
         <td>
          Yes (in NDB 8.0)
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      This parameter formerly set the size of the undo index
            buffer, but has no effect in current versions of NDB
            Cluster.
     </p>
     <p>
      Use of this parameter in the cluster configuration file
            raises a deprecation warning; you should expect it to be
            removed in a future NDB Cluster release.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-undodatabuffer">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-undodatabuffer">
       <code class="literal">
        UndoDataBuffer
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045117141872">
     </a>
     <div class="informaltable">
      <a name="undodatabuffer-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="UndoDataBuffer data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          unsigned
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          16M
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          1M - 4294967039 (0xFFFFFEFF)
         </td>
        </tr>
        <tr>
         <th>
          Deprecated
         </th>
         <td>
          Yes (in NDB 8.0)
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      This parameter formerly set the size of the undo data
            buffer, but has no effect in current versions of NDB
            Cluster.
     </p>
     <p>
      Use of this parameter in the cluster configuration file
            raises a deprecation warning; you should expect it to be
            removed in a future NDB Cluster release.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-redobuffer">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-redobuffer">
       <code class="literal">
        RedoBuffer
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045117118560">
     </a>
     <div class="informaltable">
      <a name="redobuffer-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="RedoBuffer data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          bytes
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          32M
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          1M - 4294967039 (0xFFFFFEFF)
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      All update activities also need to be logged. The REDO log
            makes it possible to replay these updates whenever the
            system is restarted. The NDB recovery algorithm uses a
      <span class="quote">
       “
       <span class="quote">
        fuzzy
       </span>
       ”
      </span>
      checkpoint of the data together with
            the UNDO log, and then applies the REDO log to play back all
            changes up to the restoration point.
     </p>
     <p>
      <code class="literal">
       RedoBuffer
      </code>
      sets the size of the buffer in
            which the REDO log is written. The default value is 32MB;
            the minimum value is 1MB.
     </p>
     <p>
      If this buffer is too small, the
      <a class="link" href="mysql-cluster.html" title="Chapter 25 MySQL NDB Cluster 8.4">
       <code class="literal">
        NDB
       </code>
      </a>
      storage engine issues error
            code 1221 (
      <span class="errortext">
       REDO log buffers
            overloaded
      </span>
      ). For this reason, you should
            exercise care if you attempt to decrease the value of
      <code class="literal">
       RedoBuffer
      </code>
      as part of an online change in
            the cluster's configuration.
     </p>
     <p>
      <a class="link" href="mysql-cluster-programs-ndbmtd.html" title="25.5.3 ndbmtd — The NDB Cluster Data Node Daemon (Multi-Threaded)">
       <span class="command">
        <strong>
         ndbmtd
        </strong>
       </span>
      </a>
      allocates a separate buffer for
            each LDM thread (see
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbmtd-threadconfig">
       <code class="literal">
        ThreadConfig
       </code>
      </a>
      ). For
            example, with 4 LDM threads, an
      <a class="link" href="mysql-cluster-programs-ndbmtd.html" title="25.5.3 ndbmtd — The NDB Cluster Data Node Daemon (Multi-Threaded)">
       <span class="command">
        <strong>
         ndbmtd
        </strong>
       </span>
      </a>
      data node actually has 4 buffers and allocates
      <code class="literal">
       RedoBuffer
      </code>
      bytes to each one, for a total
            of
      <code class="literal">
       4 * RedoBuffer
      </code>
      bytes.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-eventlogbuffersize">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-eventlogbuffersize">
       <code class="literal">
        EventLogBufferSize
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045117087440">
     </a>
     <div class="informaltable">
      <a name="eventlogbuffersize-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="EventLogBufferSize data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          bytes
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          8192
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          0 - 64K
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             System Restart:
            </strong>
           </span>
           Requires a complete shutdown and restart
                    of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      Controls the size of the circular buffer used for NDB log
            events within data nodes.
     </p>
    </li>
   </ul>
  </div>
  <p>
   <a name="mysql-cluster-controlling-log-messages">
   </a>
   <b>
    Controlling log messages.
   </b>
   In managing the cluster, it is very important to be able to
          control the number of log messages sent for various event
          types to
   <code class="literal">
    stdout
   </code>
   . For each event category,
          there are 16 possible event levels (numbered 0 through 15).
          Setting event reporting for a given event category to level 15
          means all event reports in that category are sent to
   <code class="literal">
    stdout
   </code>
   ; setting it to 0 means that no event
          reports in that category are made.
  </p>
  <p>
   By default, only the startup message is sent to
   <code class="literal">
    stdout
   </code>
   , with the remaining event reporting
        level defaults being set to 0. The reason for this is that these
        messages are also sent to the management server's cluster log.
  </p>
  <p>
   An analogous set of levels can be set for the management client
        to determine which event levels to record in the cluster log.
  </p>
  <div class="itemizedlist">
   <ul class="itemizedlist" style="list-style-type: disc; ">
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-loglevelstartup">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-loglevelstartup">
       <code class="literal">
        LogLevelStartup
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045117061968">
     </a>
     <div class="informaltable">
      <a name="loglevelstartup-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="LogLevelStartup data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          integer
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          1
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          0 - 15
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      The reporting level for events generated during startup of
            the process.
     </p>
     <p>
      The default level is 1.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-loglevelshutdown">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-loglevelshutdown">
       <code class="literal">
        LogLevelShutdown
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045117041056">
     </a>
     <div class="informaltable">
      <a name="loglevelshutdown-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="LogLevelShutdown data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          integer
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          0
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          0 - 15
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      The reporting level for events generated as part of graceful
            shutdown of a node.
     </p>
     <p>
      The default level is 0.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-loglevelstatistic">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-loglevelstatistic">
       <code class="literal">
        LogLevelStatistic
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045117020208">
     </a>
     <div class="informaltable">
      <a name="loglevelstatistic-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="LogLevelStatistic data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          integer
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          0
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          0 - 15
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      The reporting level for statistical events such as number of
            primary key reads, number of updates, number of inserts,
            information relating to buffer usage, and so on.
     </p>
     <p>
      The default level is 0.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-loglevelcheckpoint">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-loglevelcheckpoint">
       <code class="literal">
        LogLevelCheckpoint
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045116999200">
     </a>
     <div class="informaltable">
      <a name="loglevelcheckpoint-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="LogLevelCheckpoint data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          log level
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          0
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          0 - 15
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      The reporting level for events generated by local and global
            checkpoints.
     </p>
     <p>
      The default level is 0.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-loglevelnoderestart">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-loglevelnoderestart">
       <code class="literal">
        LogLevelNodeRestart
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045116978352">
     </a>
     <div class="informaltable">
      <a name="loglevelnoderestart-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="LogLevelNodeRestart data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          integer
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          0
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          0 - 15
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      The reporting level for events generated during node
            restart.
     </p>
     <p>
      The default level is 0.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-loglevelconnection">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-loglevelconnection">
       <code class="literal">
        LogLevelConnection
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045116957520">
     </a>
     <div class="informaltable">
      <a name="loglevelconnection-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="LogLevelConnection data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          integer
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          0
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          0 - 15
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      The reporting level for events generated by connections
            between cluster nodes.
     </p>
     <p>
      The default level is 0.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-loglevelerror">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-loglevelerror">
       <code class="literal">
        LogLevelError
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045116936608">
     </a>
     <div class="informaltable">
      <a name="loglevelerror-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="LogLevelError data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          integer
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          0
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          0 - 15
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      The reporting level for events generated by errors and
            warnings by the cluster as a whole. These errors do not
            cause any node failure but are still considered worth
            reporting.
     </p>
     <p>
      The default level is 0.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-loglevelcongestion">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-loglevelcongestion">
       <code class="literal">
        LogLevelCongestion
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045116915504">
     </a>
     <div class="informaltable">
      <a name="loglevelcongestion-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="LogLevelCongestion data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          level
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          0
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          0 - 15
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      The reporting level for events generated by congestion.
            These errors do not cause node failure but are still
            considered worth reporting.
     </p>
     <p>
      The default level is 0.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-loglevelinfo">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-loglevelinfo">
       <code class="literal">
        LogLevelInfo
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045116894512">
     </a>
     <div class="informaltable">
      <a name="loglevelinfo-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="LogLevelInfo data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          integer
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          0
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          0 - 15
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      The reporting level for events generated for information
            about the general state of the cluster.
     </p>
     <p>
      The default level is 0.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-memreportfrequency">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-memreportfrequency">
       <code class="literal">
        MemReportFrequency
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045116873600">
     </a>
     <div class="informaltable">
      <a name="memreportfrequency-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="MemReportFrequency data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          unsigned
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          0
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          0 - 4294967039 (0xFFFFFEFF)
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      This parameter controls how often data node memory usage
            reports are recorded in the cluster log; it is an integer
            value representing the number of seconds between reports.
     </p>
     <p>
      Each data node's data memory and index memory usage is
            logged as both a percentage and a number of 32 KB pages of
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-datamemory">
       <code class="literal">
        DataMemory
       </code>
      </a>
      , as set
            in the
      <code class="filename">
       config.ini
      </code>
      file. For example, if
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-datamemory">
       <code class="literal">
        DataMemory
       </code>
      </a>
      is equal
            to 100 MB, and a given data node is using 50 MB for data
            memory storage, the corresponding line in the cluster log
            might look like this:
     </p>
     <div class="copytoclipboard-wrapper">
      <pre class="programlisting one-line language-simple"><div class="docs-select-all right" id="sa30069400"><div class="copy-help left">Press ⌘+C to copy</div> <div class="right"><button class="clipboard-btn" title="Copy to Clipboard"><span class="icon-clipboard"></span></button></div></div><code class="language-simple">2006<span class="token operator">-</span>12<span class="token operator">-</span>24 01<span class="token operator">:</span>18<span class="token operator">:</span>16 <span class="token punctuation">[</span>MgmSrvr<span class="token punctuation">]</span> INFO <span class="token operator">--</span> Node 2<span class="token operator">:</span> Data usage is 50<span class="token operator">%</span><span class="token punctuation">(</span>1280 32K pages of total 2560<span class="token punctuation">)</span></code></pre>
     </div>
     <p>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-memreportfrequency">
       <code class="literal">
        MemReportFrequency
       </code>
      </a>
      is not a required parameter. If used, it can be set for all
            cluster data nodes in the
      <code class="literal">
       [ndbd default]
      </code>
      section of
      <code class="filename">
       config.ini
      </code>
      , and can also be
            set or overridden for individual data nodes in the
            corresponding
      <code class="literal">
       [ndbd]
      </code>
      sections of the
            configuration file. The minimum value—which is also
            the default value—is 0, in which case memory reports
            are logged only when memory usage reaches certain
            percentages (80%, 90%, and 100%), as mentioned in the
            discussion of statistics events in
      <a class="xref" href="mysql-cluster-log-events.html" title="25.6.3.2 NDB Cluster Log Events">
       Section 25.6.3.2, “NDB Cluster Log Events”
      </a>
      .
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-startupstatusreportfrequency">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-startupstatusreportfrequency">
       <code class="literal">
        StartupStatusReportFrequency
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045116842448">
     </a>
     <div class="informaltable">
      <a name="startupstatusreportfrequency-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="StartupStatusReportFrequency data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          seconds
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          0
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          0 - 4294967039 (0xFFFFFEFF)
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      When a data node is started with the
      <a class="link" href="mysql-cluster-programs-ndbd.html#option_ndbd_initial">
       <code class="option">
        --initial
       </code>
      </a>
      , it initializes the
            redo log file during Start Phase 4 (see
      <a class="xref" href="mysql-cluster-start-phases.html" title="25.6.4 Summary of NDB Cluster Start Phases">
       Section 25.6.4, “Summary of NDB Cluster Start Phases”
      </a>
      ). When very
            large values are set for
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-nooffragmentlogfiles">
       <code class="literal">
        NoOfFragmentLogFiles
       </code>
      </a>
      ,
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-fragmentlogfilesize">
       <code class="literal">
        FragmentLogFileSize
       </code>
      </a>
      ,
            or both, this initialization can take a long time. You can
            force reports on the progress of this process to be logged
            periodically, by means of the
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-startupstatusreportfrequency">
       <code class="literal">
        StartupStatusReportFrequency
       </code>
      </a>
      configuration parameter. In this case, progress is reported
            in the cluster log, in terms of both the number of files and
            the amount of space that have been initialized, as shown
            here:
     </p>
     <div class="copytoclipboard-wrapper">
      <pre class="programlisting language-simple"><div class="docs-select-all right" id="sa59796922"><div class="copy-help left">Press ⌘+C to copy</div> <div class="right"><button class="clipboard-btn" title="Copy to Clipboard"><span class="icon-clipboard"></span></button></div></div><code class="language-simple">2009<span class="token operator">-</span>06<span class="token operator">-</span>20 16<span class="token operator">:</span>39<span class="token operator">:</span>23 <span class="token punctuation">[</span>MgmSrvr<span class="token punctuation">]</span> INFO <span class="token operator">--</span> Node 1<span class="token operator">:</span> Local redo log file initialization status<span class="token operator">:</span>
<span class="token comment" spellcheck="true">#Total files: 80, Completed: 60</span>
<span class="token comment" spellcheck="true">#Total MBytes: 20480, Completed: 15557</span>
2009<span class="token operator">-</span>06<span class="token operator">-</span>20 16<span class="token operator">:</span>39<span class="token operator">:</span>23 <span class="token punctuation">[</span>MgmSrvr<span class="token punctuation">]</span> INFO <span class="token operator">--</span> Node 2<span class="token operator">:</span> Local redo log file initialization status<span class="token operator">:</span>
<span class="token comment" spellcheck="true">#Total files: 80, Completed: 60</span>
<span class="token comment" spellcheck="true">#Total MBytes: 20480, Completed: 15570</span></code></pre>
     </div>
     <p>
      These reports are logged each
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-startupstatusreportfrequency">
       <code class="literal">
        StartupStatusReportFrequency
       </code>
      </a>
      seconds during Start Phase 4. If
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-startupstatusreportfrequency">
       <code class="literal">
        StartupStatusReportFrequency
       </code>
      </a>
      is 0 (the default), then reports are written to the cluster
            log only when at the beginning and at the completion of the
            redo log file initialization process.
     </p>
    </li>
   </ul>
  </div>
  <h5>
   <a name="mysql-cluster-data-node-debugging-parameters">
   </a>
   Data Node Debugging Parameters
  </h5>
  <p>
   The following parameters are intended for use during testing or
        debugging of data nodes, and not for use in production.
  </p>
  <div class="itemizedlist">
   <ul class="itemizedlist" style="list-style-type: disc; ">
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-dicttrace">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-dicttrace">
       <code class="literal">
        DictTrace
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045116809392">
     </a>
     <div class="informaltable">
      <a name="dicttrace-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="DictTrace data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          bytes
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          undefined
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          0 - 100
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      It is possible to cause logging of traces for events
            generated by creating and dropping tables using
      <code class="literal">
       DictTrace
      </code>
      . This parameter is useful only
            in debugging NDB kernel code.
      <code class="literal">
       DictTrace
      </code>
      takes an integer value. 0 is the default, and means no
            logging is performed; 1 enables trace logging, and 2 enables
            logging of additional
      <a class="ulink" href="/doc/ndb-internals/en/ndb-internals-kernel-blocks-dbdict.html" target="_top">
       <code class="literal">
        DBDICT
       </code>
      </a>
      debugging output.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-watchdogimmediatekill">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-watchdogimmediatekill">
       <code class="literal">
        WatchdogImmediateKill
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045116785984">
     </a>
     <div class="informaltable">
      <a name="watchdogimmediatekill-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="WatchDogImmediateKill data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          boolean
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          false
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          true, false
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      You can cause threads to be killed immediately whenever
            watchdog issues occur by enabling the
      <code class="literal">
       WatchdogImmediateKill
      </code>
      data node
            configuration parameter. This parameter should be used only
            when debugging or troubleshooting, to obtain trace files
            reporting exactly what was occurring the instant that
            execution ceased.
     </p>
    </li>
   </ul>
  </div>
  <p>
   <a name="mysql-cluster-backup-parameters">
   </a>
   <b>
    Backup parameters.
   </b>
   The
   <code class="literal">
    [ndbd]
   </code>
   parameters discussed in this
          section define memory buffers set aside for execution of
          online backups.
  </p>
  <div class="itemizedlist">
   <ul class="itemizedlist" style="list-style-type: disc; ">
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-backupdatabuffersize">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-backupdatabuffersize">
       <code class="literal">
        BackupDataBufferSize
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045116761616">
     </a>
     <div class="informaltable">
      <a name="backupdatabuffersize-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="BackupDataBufferSize data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          bytes
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          16M
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          512K - 4294967039 (0xFFFFFEFF)
         </td>
        </tr>
        <tr>
         <th>
          Deprecated
         </th>
         <td>
          Yes (in NDB 7.6)
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      In creating a backup, there are two buffers used for sending
            data to the disk. The backup data buffer is used to fill in
            data recorded by scanning a node's tables. Once this buffer
            has been filled to the level specified as
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-backupwritesize">
       <code class="literal">
        BackupWriteSize
       </code>
      </a>
      , the
            pages are sent to disk. While flushing data to disk, the
            backup process can continue filling this buffer until it
            runs out of space. When this happens, the backup process
            pauses the scan and waits until some disk writes have
            completed freeing up memory so that scanning may continue.
     </p>
     <p>
      The default value for this parameter is 16MB. The minimum is
            512K.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-backupdiskwritespeedpct">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-backupdiskwritespeedpct">
       <code class="literal">
        BackupDiskWriteSpeedPct
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045116736736">
     </a>
     <div class="informaltable">
      <a name="backupdiskwritespeedpct-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="BackupDiskWriteSpeedPct data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          percent
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          50
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          0 - 90
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      <code class="literal">
       BackupDiskWriteSpeedPct
      </code>
      applies only when
            a backup is single-threaded; since NDB 8.4
            supports multi-threaded backups, it is usually not necessary
            to adjust this parameter, which has no effect in the
            multi-threaded case. The discussion that follows is specific
            to single-threaded backups.
     </p>
     <p>
      During normal operation, data nodes attempt to maximize the
            disk write speed used for local checkpoints and backups
            while remaining within the bounds set by
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-mindiskwritespeed">
       <code class="literal">
        MinDiskWriteSpeed
       </code>
      </a>
      and
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-maxdiskwritespeed">
       <code class="literal">
        MaxDiskWriteSpeed
       </code>
      </a>
      .
            Disk write throttling gives each LDM thread an equal share
            of the total budget. This allows parallel LCPs to take place
            without exceeding the disk I/O budget. Because a backup is
            executed by only one LDM thread, this effectively caused a
            budget cut, resulting in longer backup completion times,
            and—if the rate of change is sufficiently
            high—in failure to complete the backup when the backup
            log buffer fill rate is higher than the achievable write
            rate.
     </p>
     <p>
      This problem can be addressed by using the
      <code class="literal">
       BackupDiskWriteSpeedPct
      </code>
      configuration
            parameter, which takes a value in the range 0-90 (inclusive)
            which is interpreted as the percentage of the node's
            maximum write rate budget that is reserved prior to sharing
            out the remainder of the budget among LDM threads for LCPs.
            The LDM thread running the backup receives the whole write
            rate budget for the backup, plus its (reduced) share of the
            write rate budget for local checkpoints.
     </p>
     <p>
      The default value for this parameter is 50 (interpreted as
            50%).
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-backuplogbuffersize">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-backuplogbuffersize">
       <code class="literal">
        BackupLogBufferSize
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045116708912">
     </a>
     <div class="informaltable">
      <a name="backuplogbuffersize-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="BackupLogBufferSize data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          bytes
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          16M
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          2M - 4294967039 (0xFFFFFEFF)
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      The backup log buffer fulfills a role similar to that played
            by the backup data buffer, except that it is used for
            generating a log of all table writes made during execution
            of the backup. The same principles apply for writing these
            pages as with the backup data buffer, except that when there
            is no more space in the backup log buffer, the backup fails.
            For that reason, the size of the backup log buffer must be
            large enough to handle the load caused by write activities
            while the backup is being made. See
      <a class="xref" href="mysql-cluster-backup-configuration.html" title="25.6.8.3 Configuration for NDB Cluster Backups">
       Section 25.6.8.3, “Configuration for NDB Cluster Backups”
      </a>
      .
     </p>
     <p>
      The default value for this parameter should be sufficient
            for most applications. In fact, it is more likely for a
            backup failure to be caused by insufficient disk write speed
            than it is for the backup log buffer to become full. If the
            disk subsystem is not configured for the write load caused
            by applications, the cluster is unlikely to be able to
            perform the desired operations.
     </p>
     <p>
      It is preferable to configure cluster nodes in such a manner
            that the processor becomes the bottleneck rather than the
            disks or the network connections.
     </p>
     <p>
      The default value for this parameter is 16MB.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-backupmemory">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-backupmemory">
       <code class="literal">
        BackupMemory
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045116685328">
     </a>
     <div class="informaltable">
      <a name="backupmemory-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="BackupMemory data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          bytes
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          32M
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          0 - 4294967039 (0xFFFFFEFF)
         </td>
        </tr>
        <tr>
         <th>
          Deprecated
         </th>
         <td>
          Yes (in NDB 7.4)
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      This parameter is deprecated, and subject to removal in a
            future version of NDB Cluster. Any setting made for it is
            ignored.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-backupreportfrequency">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-backupreportfrequency">
       <code class="literal">
        BackupReportFrequency
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045116662640">
     </a>
     <div class="informaltable">
      <a name="backupreportfrequency-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="BackupReportFrequency data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          seconds
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          0
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          0 - 4294967039 (0xFFFFFEFF)
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      This parameter controls how often backup status reports are
            issued in the management client during a backup, as well as
            how often such reports are written to the cluster log
            (provided cluster event logging is configured to permit
            it—see
      <a class="xref" href="mysql-cluster-ndbd-definition.html#mysql-cluster-logging-and-checkpointing" title="Logging and checkpointing">
       Logging and checkpointing
      </a>
      ).
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-backupreportfrequency">
       <code class="literal">
        BackupReportFrequency
       </code>
      </a>
      represents the time in seconds between backup status
            reports.
     </p>
     <p>
      The default value is 0.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-backupwritesize">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-backupwritesize">
       <code class="literal">
        BackupWriteSize
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045116639136">
     </a>
     <div class="informaltable">
      <a name="backupwritesize-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="BackupWriteSize data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          bytes
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          256K
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          32K - 4294967039 (0xFFFFFEFF)
         </td>
        </tr>
        <tr>
         <th>
          Deprecated
         </th>
         <td>
          Yes (in NDB 7.6)
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      This parameter specifies the default size of messages
            written to disk by the backup log and backup data buffers.
     </p>
     <p>
      The default value for this parameter is 256KB.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-backupmaxwritesize">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-backupmaxwritesize">
       <code class="literal">
        BackupMaxWriteSize
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045116615952">
     </a>
     <div class="informaltable">
      <a name="backupmaxwritesize-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="BackupMaxWriteSize data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          bytes
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          1M
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          256K - 4294967039 (0xFFFFFEFF)
         </td>
        </tr>
        <tr>
         <th>
          Deprecated
         </th>
         <td>
          Yes (in NDB 7.6)
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      This parameter specifies the maximum size of messages
            written to disk by the backup log and backup data buffers.
     </p>
     <p>
      The default value for this parameter is 1MB.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-compressedbackup">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-compressedbackup">
       <code class="literal">
        CompressedBackup
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045116592864">
     </a>
     <div class="informaltable">
      <a name="compressedbackup-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="CompressedBackup data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          boolean
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          false
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          true, false
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      Enabling this parameter causes backup files to be
            compressed. The compression used is equivalent to
      <span class="command">
       <strong>
        gzip --fast
       </strong>
      </span>
      , and can save 50% or more of
            the space required on the data node to store uncompressed
            backup files. Compressed backups can be enabled for
            individual data nodes, or for all data nodes (by setting
            this parameter in the
      <code class="literal">
       [ndbd default]
      </code>
      section of the
      <code class="filename">
       config.ini
      </code>
      file).
     </p>
     <div class="important" style="margin-left: 0.5in; margin-right: 0.5in;">
      <div class="admon-title">
       Important
      </div>
      <p>
       You cannot restore a compressed backup to a cluster
              running a MySQL version that does not support this
              feature.
      </p>
     </div>
     <p>
      The default value is
      <code class="literal">
       0
      </code>
      (disabled).
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-requireencryptedbackup">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-requireencryptedbackup">
       <code class="literal">
        RequireEncryptedBackup
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045116567904">
     </a>
     <div class="informaltable">
      <a name="requireencryptedbackup-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="RequireEncryptedBackup data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          integer
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          0
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          0 - 1
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      If set to 1, backups must be encrypted. While it is possible
            to set this parameter for each data node individually, it is
            recommended that you set it in the
      <code class="literal">
       [ndbd
            default]
      </code>
      section of the
      <code class="filename">
       config.ini
      </code>
      global configuration file.
            For more information about performing encrypted backups, see
      <a class="xref" href="mysql-cluster-backup-using-management-client.html" title="25.6.8.2 Using The NDB Cluster Management Client to Create a Backup">
       Section 25.6.8.2, “Using The NDB Cluster Management Client to Create a Backup”
      </a>
      .
     </p>
    </li>
   </ul>
  </div>
  <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
   <div class="admon-title">
    Note
   </div>
   <p>
    The location of the backup files is determined by the
    <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-backupdatadir">
     <code class="literal">
      BackupDataDir
     </code>
    </a>
    data
          node configuration parameter.
   </p>
  </div>
  <p>
   <b>
    Additional requirements.
   </b>
   When specifying these parameters, the following relationships
          must hold true. Otherwise, the data node cannot start.
  </p>
  <div class="itemizedlist">
   <ul class="itemizedlist" style="list-style-type: disc; ">
    <li class="listitem">
     <p>
      <code class="literal">
       BackupDataBufferSize &gt;= BackupWriteSize +
            188KB
      </code>
     </p>
    </li>
    <li class="listitem">
     <p>
      <code class="literal">
       BackupLogBufferSize &gt;= BackupWriteSize +
            16KB
      </code>
     </p>
    </li>
    <li class="listitem">
     <p>
      <code class="literal">
       BackupMaxWriteSize &gt;= BackupWriteSize
      </code>
     </p>
    </li>
   </ul>
  </div>
  <h5>
   <a name="mysql-cluster-realtime-performance-parameters">
   </a>
   NDB Cluster Realtime Performance Parameters
  </h5>
  <p>
   The
   <code class="literal">
    [ndbd]
   </code>
   parameters discussed in this
        section are used in scheduling and locking of threads to
        specific CPUs on multiprocessor data node hosts.
  </p>
  <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
   <div class="admon-title">
    Note
   </div>
   <p>
    To make use of these parameters, the data node process must be
          run as system root.
   </p>
  </div>
  <div class="itemizedlist">
   <ul class="itemizedlist" style="list-style-type: disc; ">
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-buildindexthreads">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-buildindexthreads">
       <code class="literal">
        BuildIndexThreads
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045116532576">
     </a>
     <div class="informaltable">
      <a name="buildindexthreads-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="BuildIndexThreads data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          numeric
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          128
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          0 - 128
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      This parameter determines the number of threads to create
            when rebuilding ordered indexes during a system or node
            start, as well as when running
      <a class="link" href="mysql-cluster-programs-ndb-restore.html" title="25.5.23 ndb_restore — Restore an NDB Cluster Backup">
       <span class="command">
        <strong>
         ndb_restore
        </strong>
       </span>
      </a>
      <a class="link" href="mysql-cluster-programs-ndb-restore.html#option_ndb_restore_rebuild-indexes">
       <code class="option">
        --rebuild-indexes
       </code>
      </a>
      . It is
            supported only when there is more than one fragment for the
            table per data node (for example, when
      <code class="literal">
       COMMENT="NDB_TABLE=PARTITION_BALANCE=FOR_RA_BY_LDM_X_2"
      </code>
      is used with
      <a class="link" href="create-table.html" title="15.1.20 CREATE TABLE Statement">
       <code class="literal">
        CREATE TABLE
       </code>
      </a>
      ).
     </p>
     <p>
      Setting this parameter to 0 (the default) disables
            multithreaded building of ordered indexes.
     </p>
     <p>
      This parameter is supported when using
      <a class="link" href="mysql-cluster-programs-ndbd.html" title="25.5.1 ndbd — The NDB Cluster Data Node Daemon">
       <span class="command">
        <strong>
         ndbd
        </strong>
       </span>
      </a>
      or
      <a class="link" href="mysql-cluster-programs-ndbmtd.html" title="25.5.3 ndbmtd — The NDB Cluster Data Node Daemon (Multi-Threaded)">
       <span class="command">
        <strong>
         ndbmtd
        </strong>
       </span>
      </a>
      .
     </p>
     <p>
      You can enable multithreaded builds during data node initial
            restarts by setting the
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-twopassinitialnoderestartcopy">
       <code class="literal">
        TwoPassInitialNodeRestartCopy
       </code>
      </a>
      data node configuration parameter to
      <code class="literal">
       TRUE
      </code>
      .
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-lockexecutethreadtocpu">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-lockexecutethreadtocpu">
       <code class="literal">
        LockExecuteThreadToCPU
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045116501440">
     </a>
     <div class="informaltable">
      <a name="lockexecutethreadtocpu-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="LockExecuteThreadToCPU data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          set of CPU IDs
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          0
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          ...
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      When used with
      <a class="link" href="mysql-cluster-programs-ndbd.html" title="25.5.1 ndbd — The NDB Cluster Data Node Daemon">
       <span class="command">
        <strong>
         ndbd
        </strong>
       </span>
      </a>
      , this parameter (now
            a string) specifies the ID of the CPU assigned to handle the
      <a class="link" href="mysql-cluster.html" title="Chapter 25 MySQL NDB Cluster 8.4">
       <code class="literal">
        NDBCLUSTER
       </code>
      </a>
      execution thread.
            When used with
      <a class="link" href="mysql-cluster-programs-ndbmtd.html" title="25.5.3 ndbmtd — The NDB Cluster Data Node Daemon (Multi-Threaded)">
       <span class="command">
        <strong>
         ndbmtd
        </strong>
       </span>
      </a>
      , the value of this
            parameter is a comma-separated list of CPU IDs assigned to
            handle execution threads. Each CPU ID in the list should be
            an integer in the range 0 to 65535 (inclusive).
     </p>
     <p>
      The number of IDs specified should match the number of
            execution threads determined by
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbmtd-maxnoofexecutionthreads">
       <code class="literal">
        MaxNoOfExecutionThreads
       </code>
      </a>
      .
            However, there is no guarantee that threads are assigned to
            CPUs in any given order when using this parameter. You can
            obtain more finely-grained control of this type using
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbmtd-threadconfig">
       <code class="literal">
        ThreadConfig
       </code>
      </a>
      .
     </p>
     <p>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-lockexecutethreadtocpu">
       <code class="literal">
        LockExecuteThreadToCPU
       </code>
      </a>
      has no default value.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-lockmaintthreadstocpu">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-lockmaintthreadstocpu">
       <code class="literal">
        LockMaintThreadsToCPU
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045116472032">
     </a>
     <div class="informaltable">
      <a name="lockmaintthreadstocpu-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="LockMaintThreadsToCPU data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          CPU ID
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          0
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          0 - 64K
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      This parameter specifies the ID of the CPU assigned to
            handle
      <a class="link" href="mysql-cluster.html" title="Chapter 25 MySQL NDB Cluster 8.4">
       <code class="literal">
        NDBCLUSTER
       </code>
      </a>
      maintenance
            threads.
     </p>
     <p>
      The value of this parameter is an integer in the range 0 to
            65535 (inclusive).
      <span class="emphasis">
       <em>
        There is no default
            value
       </em>
      </span>
      .
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-numa">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-numa">
       <code class="literal">
        Numa
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045116449472">
     </a>
     <a class="indexterm" name="idm46045116448400">
     </a>
     <div class="informaltable">
      <a name="numa-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="Numa data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          numeric
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          1
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          ...
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      This parameter determines whether Non-Uniform Memory Access
            (NUMA) is controlled by the operating system or by the data
            node process, whether the data node uses
      <a class="link" href="mysql-cluster-programs-ndbd.html" title="25.5.1 ndbd — The NDB Cluster Data Node Daemon">
       <span class="command">
        <strong>
         ndbd
        </strong>
       </span>
      </a>
      or
      <a class="link" href="mysql-cluster-programs-ndbmtd.html" title="25.5.3 ndbmtd — The NDB Cluster Data Node Daemon (Multi-Threaded)">
       <span class="command">
        <strong>
         ndbmtd
        </strong>
       </span>
      </a>
      . By
            default,
      <code class="literal">
       NDB
      </code>
      attempts to use an
            interleaved NUMA memory allocation policy on any data node
            where the host operating system provides NUMA support.
     </p>
     <p>
      Setting
      <code class="literal">
       Numa = 0
      </code>
      means that the datanode
            process does not itself attempt to set a policy for memory
            allocation, and permits this behavior to be determined by
            the operating system, which may be further guided by the
            separate
      <span class="command">
       <strong>
        numactl
       </strong>
      </span>
      tool. That is,
      <code class="literal">
       Numa = 0
      </code>
      yields the system default
            behavior, which can be customised by
      <span class="command">
       <strong>
        numactl
       </strong>
      </span>
      . For many Linux systems, the
            system default behavior is to allocate socket-local memory
            to any given process at allocation time. This can be
            problematic when using
      <a class="link" href="mysql-cluster-programs-ndbmtd.html" title="25.5.3 ndbmtd — The NDB Cluster Data Node Daemon (Multi-Threaded)">
       <span class="command">
        <strong>
         ndbmtd
        </strong>
       </span>
      </a>
      ; this is
            because
      <span class="command">
       <strong>
        nbdmtd
       </strong>
      </span>
      allocates all memory at
            startup, leading to an imbalance, giving different access
            speeds for different sockets, especially when locking pages
            in main memory.
     </p>
     <p>
      Setting
      <code class="literal">
       Numa = 1
      </code>
      means that the data node
            process uses
      <code class="literal">
       libnuma
      </code>
      to request
            interleaved memory allocation. (This can also be
            accomplished manually, on the operating system level, using
      <span class="command">
       <strong>
        numactl
       </strong>
      </span>
      .) Using interleaved allocation in
            effect tells the data node process to ignore non-uniform
            memory access but does not attempt to take any advantage of
            fast local memory; instead, the data node process tries to
            avoid imbalances due to slow remote memory. If interleaved
            allocation is not desired, set
      <code class="literal">
       Numa
      </code>
      to 0
            so that the desired behavior can be determined on the
            operating system level.
     </p>
     <p>
      The
      <code class="literal">
       Numa
      </code>
      configuration parameter is
            supported only on Linux systems where
      <code class="filename">
       libnuma.so
      </code>
      is available.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-realtimescheduler">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-realtimescheduler">
       <code class="literal">
        RealtimeScheduler
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045116412240">
     </a>
     <div class="informaltable">
      <a name="realtimescheduler-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="RealtimeScheduler data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          boolean
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          false
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          true, false
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      Setting this parameter to 1 enables real-time scheduling of
            data node threads.
     </p>
     <p>
      The default is 0 (scheduling disabled).
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-schedulerexecutiontimer">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-schedulerexecutiontimer">
       <code class="literal">
        SchedulerExecutionTimer
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045116391344">
     </a>
     <div class="informaltable">
      <a name="schedulerexecutiontimer-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="SchedulerExecutionTimer data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          µs
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          50
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          0 - 11000
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      This parameter specifies the time in microseconds for
            threads to be executed in the scheduler before being sent.
            Setting it to 0 minimizes the response time; to achieve
            higher throughput, you can increase the value at the expense
            of longer response times.
     </p>
     <p>
      The default is 50 μsec, which our testing shows to
            increase throughput slightly in high-load cases without
            materially delaying requests.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-schedulerresponsiveness">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-schedulerresponsiveness">
       <code class="literal">
        SchedulerResponsiveness
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045116369904">
     </a>
     <div class="informaltable">
      <a name="schedulerresponsiveness-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="SchedulerResponsiveness data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          integer
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          5
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          0 - 10
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      Set the balance in the
      <code class="literal">
       NDB
      </code>
      scheduler
            between speed and throughput. This parameter takes an
            integer whose value is in the range 0-10 inclusive, with 5
            as the default. Higher values provide better response times
            relative to throughput. Lower values provide increased
            throughput at the expense of longer response times.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-schedulerspintimer">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-schedulerspintimer">
       <code class="literal">
        SchedulerSpinTimer
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045116348544">
     </a>
     <div class="informaltable">
      <a name="schedulerspintimer-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="SchedulerSpinTimer data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          µs
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          0
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          0 - 500
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      This parameter specifies the time in microseconds for
            threads to be executed in the scheduler before sleeping.
     </p>
     <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
      <div class="admon-title">
       Note
      </div>
      <p>
       If
       <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-spinmethod">
        <code class="literal">
         SpinMethod
        </code>
       </a>
       is
              set, any setting for this parameter is ignored.
      </p>
     </div>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-spinmethod">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-spinmethod">
       <code class="literal">
        SpinMethod
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045116325984">
     </a>
     <a class="indexterm" name="idm46045116324912">
     </a>
     <a class="indexterm" name="idm46045116323840">
     </a>
     <div class="informaltable">
      <a name="spinmethod-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="SpinMethod data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          enumeration
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          StaticSpinning
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          CostBasedSpinning, LatencyOptimisedSpinning, DatabaseMachineSpinning,
                  StaticSpinning
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      This parameter provides a simple interface to control
            adaptive spinning on data nodes, with four possible values
            furnishing presets for spin parameter values, as shown in
            the following list:
     </p>
     <div class="orderedlist">
      <ol class="orderedlist" type="1">
       <li class="listitem">
        <p>
         <code class="literal">
          StaticSpinning
         </code>
         (default): Sets
         <code class="literal">
          EnableAdaptiveSpinning
         </code>
         to
         <code class="literal">
          false
         </code>
         and
         <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-schedulerspintimer">
          <code class="literal">
           SchedulerSpinTimer
          </code>
         </a>
         to 0. (
         <code class="literal">
          SetAllowedSpinOverhead
         </code>
         is not
                relevant in this case.)
        </p>
       </li>
       <li class="listitem">
        <p>
         <code class="literal">
          CostBasedSpinning
         </code>
         : Sets
         <code class="literal">
          EnableAdaptiveSpinning
         </code>
         to
         <code class="literal">
          true
         </code>
         ,
         <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-schedulerspintimer">
          <code class="literal">
           SchedulerSpinTimer
          </code>
         </a>
         to 100, and
         <code class="literal">
          SetAllowedSpinOverhead
         </code>
         to
                200.
        </p>
       </li>
       <li class="listitem">
        <p>
         <code class="literal">
          LatencyOptimisedSpinning
         </code>
         : Sets
         <code class="literal">
          EnableAdaptiveSpinning
         </code>
         to
         <code class="literal">
          true
         </code>
         ,
         <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-schedulerspintimer">
          <code class="literal">
           SchedulerSpinTimer
          </code>
         </a>
         to 200, and
         <code class="literal">
          SetAllowedSpinOverhead
         </code>
         to
                1000.
        </p>
       </li>
       <li class="listitem">
        <p>
         <code class="literal">
          DatabaseMachineSpinning
         </code>
         : Sets
         <code class="literal">
          EnableAdaptiveSpinning
         </code>
         to
         <code class="literal">
          true
         </code>
         ,
         <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-schedulerspintimer">
          <code class="literal">
           SchedulerSpinTimer
          </code>
         </a>
         to 500, and
         <code class="literal">
          SetAllowedSpinOverhead
         </code>
         to
                10000. This is intended for use in cases where threads
                own their own CPUs.
        </p>
       </li>
      </ol>
     </div>
     <p>
      The spin parameters modified by
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-spinmethod">
       <code class="literal">
        SpinMethod
       </code>
      </a>
      are
            described in the following list:
     </p>
     <div class="itemizedlist">
      <ul class="itemizedlist" style="list-style-type: circle; ">
       <li class="listitem">
        <p>
         <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-schedulerspintimer">
          <code class="literal">
           SchedulerSpinTimer
          </code>
         </a>
         :
                This is the same as the data node configuration
                parameter of that name. The setting applied to this
                parameter by
         <code class="literal">
          SpinMethod
         </code>
         overrides any
                value set in the
         <code class="filename">
          config.ini
         </code>
         file.
        </p>
       </li>
       <li class="listitem">
        <p>
         <code class="literal">
          EnableAdaptiveSpinning
         </code>
         : Enables or
                disables adaptive spinning. Disabling it causes spinning
                to be performed without making any checks for CPU
                resources. This parameter cannot be set directly in the
                cluster configuration file, and under most circumstances
                should not need to be, but can be enabled directly using
         <a class="ulink" href="/doc/ndb-internals/en/dump-command-104004.html" target="_top">
          <code class="literal">
           DUMP 104004 1
          </code>
         </a>
         or
                disabled with
         <a class="ulink" href="/doc/ndb-internals/en/dump-command-104004.html" target="_top">
          <code class="literal">
           DUMP 104004
                0
          </code>
         </a>
         in the
         <a class="link" href="mysql-cluster-programs-ndb-mgm.html" title="25.5.5 ndb_mgm — The NDB Cluster Management Client">
          <span class="command">
           <strong>
            ndb_mgm
           </strong>
          </span>
         </a>
         management
                client.
        </p>
       </li>
       <li class="listitem">
        <p>
         <code class="literal">
          SetAllowedSpinOverhead
         </code>
         : Sets the
                amount of CPU time to allow for gaining latency. This
                parameter cannot be set directly in the
         <code class="filename">
          config.ini
         </code>
         file. In most cases, the
                setting applied by SpinMethod should be satisfactory,
                but if it is necessary to change it directly, you can
                use
         <a class="ulink" href="/doc/ndb-internals/en/dump-command-104002.html" target="_top">
          <code class="literal">
           DUMP 104002
           <em class="replaceable">
            <code>
             overhead
            </code>
           </em>
          </code>
         </a>
         to do so,
                where
         <em class="replaceable">
          <code>
           overhead
          </code>
         </em>
         is a value
                ranging from 0 to 10000, inclusive; see the description
                of the indicated
         <code class="literal">
          DUMP
         </code>
         command for
                details.
        </p>
       </li>
      </ul>
     </div>
     <p>
      On platforms lacking usable spin instructions, such as
            PowerPC and some SPARC platforms, spin time is set to 0 in
            all situations, and values for
      <code class="literal">
       SpinMethod
      </code>
      other than
      <code class="literal">
       StaticSpinning
      </code>
      are ignored.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-twopassinitialnoderestartcopy">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-twopassinitialnoderestartcopy">
       <code class="literal">
        TwoPassInitialNodeRestartCopy
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045116263440">
     </a>
     <div class="informaltable">
      <a name="twopassinitialnoderestartcopy-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="TwoPassInitialNodeRestartCopy data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          boolean
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          true
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          true, false
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      Multithreaded building of ordered indexes can be enabled for
            initial restarts of data nodes by setting this configuration
            parameter to
      <code class="literal">
       true
      </code>
      (the default value),
            which enables two-pass copying of data during initial node
            restarts.
     </p>
     <p>
      You must also set
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-buildindexthreads">
       <code class="literal">
        BuildIndexThreads
       </code>
      </a>
      to
            a nonzero value.
     </p>
    </li>
   </ul>
  </div>
  <p>
   <a name="mysql-cluster-ndbd-definition-ndbmtd-parameters">
   </a>
   <b>
    Multi-Threading Configuration Parameters (ndbmtd).
   </b>
   <a class="link" href="mysql-cluster-programs-ndbmtd.html" title="25.5.3 ndbmtd — The NDB Cluster Data Node Daemon (Multi-Threaded)">
    <span class="command">
     <strong>
      ndbmtd
     </strong>
    </span>
   </a>
   runs by default as a single-threaded
          process and must be configured to use multiple threads, using
          either of two methods, both of which require setting
          configuration parameters in the
   <code class="filename">
    config.ini
   </code>
   file. The first method is
          simply to set an appropriate value for the
   <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbmtd-maxnoofexecutionthreads">
    <code class="literal">
     MaxNoOfExecutionThreads
    </code>
   </a>
   configuration parameter. A second method makes it possible to
          set up more complex rules for
   <a class="link" href="mysql-cluster-programs-ndbmtd.html" title="25.5.3 ndbmtd — The NDB Cluster Data Node Daemon (Multi-Threaded)">
    <span class="command">
     <strong>
      ndbmtd
     </strong>
    </span>
   </a>
   multithreading using
   <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbmtd-threadconfig">
    <code class="literal">
     ThreadConfig
    </code>
   </a>
   . The
          next few paragraphs provide information about these parameters
          and their use with multithreaded data nodes.
  </p>
  <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
   <div class="admon-title">
    Note
   </div>
   <p>
    A backup using parallelism on the data nodes requires that
          multiple LDMs are in use on all data nodes in the cluster
          prior to taking the backup. For more information, see
    <a class="xref" href="mysql-cluster-backup-parallel-data-nodes.html" title="25.6.8.5 Taking an NDB Backup with Parallel Data Nodes">
     Section 25.6.8.5, “Taking an NDB Backup with Parallel Data Nodes”
    </a>
    , as
          well as
    <a class="ulink" href="/doc/refman/8.0/en/ndb-restore-parallel-data-node-backup.html" target="_top">
     Restoring from a backup taken in parallel
    </a>
    .
   </p>
  </div>
  <div class="itemizedlist">
   <ul class="itemizedlist" style="list-style-type: disc; ">
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbmtd-automaticthreadconfig">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbmtd-automaticthreadconfig">
       <code class="literal">
        AutomaticThreadConfig
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045116229328">
     </a>
     <div class="informaltable">
      <a name="automaticthreadconfig-ndbmtd-table">
      </a>
      <table frame="box" rules="all" summary="AutomaticThreadConfig multi-threaded data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          boolean
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          false
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          true, false
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Initial System Restart:
            </strong>
           </span>
           Requires a complete shutdown of the
                    cluster, wiping and restoring the cluster file
                    system from a
           <a class="link" href="mysql-cluster-backup.html" title="25.6.8 Online Backup of NDB Cluster">
            backup
           </a>
           ,
                    and then restarting the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      When set to 1, enables automatic thread configuration
            employing the number of CPUs available to a data node taking
            into account any limits set by
      <code class="literal">
       taskset
      </code>
      ,
      <code class="literal">
       numactl
      </code>
      , virtual machines, Docker, and
            other such means of controlling which CPUs are available to
            a given application (on Windows platforms, automatic thread
            configuration uses all CPUs which are online);
            alternatively, you can set
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbmtd-numcpus">
       <code class="literal">
        NumCPUs
       </code>
      </a>
      to the
            desired number of CPUs (up to 1024, the maximum number of
            CPUs that can be handled by automatic thread configuration).
            Any settings for
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbmtd-threadconfig">
       <code class="literal">
        ThreadConfig
       </code>
      </a>
      and
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbmtd-maxnoofexecutionthreads">
       <code class="literal">
        MaxNoOfExecutionThreads
       </code>
      </a>
      are ignored. In addition, enabling this parameter
            automatically disables
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbmtd-classicfragmentation">
       <code class="literal">
        ClassicFragmentation
       </code>
      </a>
      .
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbmtd-classicfragmentation">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbmtd-classicfragmentation">
       <code class="literal">
        ClassicFragmentation
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045116201552">
     </a>
     <a class="indexterm" name="idm46045116200064">
     </a>
     <div class="informaltable">
      <a name="classicfragmentation-ndbmtd-table">
      </a>
      <table frame="box" rules="all" summary="ClassicFragmentation multi-threaded data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          boolean
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          true
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          true, false
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      When enabled (set to
      <code class="literal">
       true
      </code>
      ),
      <code class="literal">
       NDB
      </code>
      distributes fragments among LDMs such
            that the default number of partitions per node is equal to
            the minimum number of local data manager (LDM) threads per
            data node.
     </p>
     <p>
      For new clusters, setting
      <code class="literal">
       ClassicFragmentation
      </code>
      to
      <code class="literal">
       false
      </code>
      when first setting up the cluster
            is preferable; doing so causes the number of partitions per
            node to be equal to the value of
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbmtd-partitionspernode">
       <code class="literal">
        PartitionsPerNode
       </code>
      </a>
      ,
            ensuring that all partitions are spread out evenly between
            all LDMs.
     </p>
     <p>
      This parameter and
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbmtd-automaticthreadconfig">
       <code class="literal">
        AutomaticThreadConfig
       </code>
      </a>
      are mutually exclusive; enabling
      <code class="literal">
       AutomaticThreadConfig
      </code>
      automatically
            disables
      <code class="literal">
       ClassicFragmentation
      </code>
      .
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbmtd-enablemultithreadedbackup">
      </a>
      <code class="literal">
       EnableMultithreadedBackup
      </code>
     </p>
     <a class="indexterm" name="idm46045116171424">
     </a>
     <a class="indexterm" name="idm46045116169920">
     </a>
     <div class="informaltable">
      <a name="enablemultithreadedbackup-ndbmtd-table">
      </a>
      <table frame="box" rules="all" summary="EnableMultithreadedBackup multi-threaded data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          unsigned
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          1
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          0 - 1
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      Enables multi-threaded backup. If each data node has at
            least 2 LDMs, all LDM threads participate in the backup,
            which is created using one subdirectory per LDM thread, and
            each subdirectory containing
      <code class="filename">
       .ctl
      </code>
      ,
      <code class="filename">
       .Data
      </code>
      , and
      <code class="filename">
       .log
      </code>
      backup files.
     </p>
     <p>
      This parameter is normally enabled (set to 1) for
      <a class="link" href="mysql-cluster-programs-ndbmtd.html" title="25.5.3 ndbmtd — The NDB Cluster Data Node Daemon (Multi-Threaded)">
       <span class="command">
        <strong>
         ndbmtd
        </strong>
       </span>
      </a>
      . To force a single-threaded backup
            that can be restored easily using older versions of
      <a class="link" href="mysql-cluster-programs-ndb-restore.html" title="25.5.23 ndb_restore — Restore an NDB Cluster Backup">
       <span class="command">
        <strong>
         ndb_restore
        </strong>
       </span>
      </a>
      , disable multi-threaded
            backup by setting this parameter to 0. This must be done for
            each data node in the cluster.
     </p>
     <p>
      See
      <a class="xref" href="mysql-cluster-backup-parallel-data-nodes.html" title="25.6.8.5 Taking an NDB Backup with Parallel Data Nodes">
       Section 25.6.8.5, “Taking an NDB Backup with Parallel Data Nodes”
      </a>
      ,
            and
      <a class="ulink" href="/doc/refman/8.0/en/ndb-restore-parallel-data-node-backup.html" target="_top">
       Restoring from a backup taken in parallel
      </a>
      ,
            for more information.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbmtd-maxnoofexecutionthreads">
      </a>
      <code class="literal">
       MaxNoOfExecutionThreads
      </code>
     </p>
     <a class="indexterm" name="idm46045116142000">
     </a>
     <a class="indexterm" name="idm46045116140960">
     </a>
     <a class="indexterm" name="idm46045116139472">
     </a>
     <a class="indexterm" name="idm46045116137984">
     </a>
     <div class="informaltable">
      <a name="maxnoofexecutionthreads-ndbmtd-table">
      </a>
      <table frame="box" rules="all" summary="MaxNoOfExecutionThreads multi-threaded data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          integer
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          2
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          2 - 72
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             System Restart:
            </strong>
           </span>
           Requires a complete shutdown and restart
                    of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      This parameter directly controls the number of execution
            threads used by
      <a class="link" href="mysql-cluster-programs-ndbmtd.html" title="25.5.3 ndbmtd — The NDB Cluster Data Node Daemon (Multi-Threaded)">
       <span class="command">
        <strong>
         ndbmtd
        </strong>
       </span>
      </a>
      , up to a maximum
            of 72. Although this parameter is set in
      <code class="literal">
       [ndbd]
      </code>
      or
      <code class="literal">
       [ndbd
            default]
      </code>
      sections of the
      <code class="filename">
       config.ini
      </code>
      file, it is exclusive to
      <a class="link" href="mysql-cluster-programs-ndbmtd.html" title="25.5.3 ndbmtd — The NDB Cluster Data Node Daemon (Multi-Threaded)">
       <span class="command">
        <strong>
         ndbmtd
        </strong>
       </span>
      </a>
      and does not apply to
      <a class="link" href="mysql-cluster-programs-ndbd.html" title="25.5.1 ndbd — The NDB Cluster Data Node Daemon">
       <span class="command">
        <strong>
         ndbd
        </strong>
       </span>
      </a>
      .
     </p>
     <p>
      Enabling
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbmtd-automaticthreadconfig">
       <code class="literal">
        AutomaticThreadConfig
       </code>
      </a>
      causes any setting for this parameter to be ignored.
     </p>
     <p>
      Setting
      <code class="literal">
       MaxNoOfExecutionThreads
      </code>
      sets the
            number of threads for each type as determined by a matrix in
            the file
      <code class="filename">
       storage/ndb/src/common/mt_thr_config.cpp
      </code>
      .
            This table shows these numbers of threads for possible
            values of
      <code class="literal">
       MaxNoOfExecutionThreads
      </code>
      .
     </p>
     <div class="table">
      <a name="idm46045116109728">
      </a>
      <p class="title">
       <b>
        Table 25.11 MaxNoOfExecutionThreads values
              and the corresponding number of threads by thread type
(LQH, TC, Send, Receive).
       </b>
      </p>
      <div class="table-contents">
       <table>
        <colgroup>
         <col style="width: 52%"/>
         <col style="width: 12%"/>
         <col style="width: 12%"/>
         <col style="width: 12%"/>
         <col style="width: 12%"/>
        </colgroup>
        <thead>
         <tr>
          <th scope="col">
           <code class="literal">
            MaxNoOfExecutionThreads
           </code>
           Value
          </th>
          <th scope="col">
           LDM Threads
          </th>
          <th scope="col">
           TC Threads
          </th>
          <th scope="col">
           Send Threads
          </th>
          <th scope="col">
           Receive Threads
          </th>
         </tr>
        </thead>
        <tbody>
         <tr>
          <th scope="row">
           0 .. 3
          </th>
          <td>
           1
          </td>
          <td>
           0
          </td>
          <td>
           0
          </td>
          <td>
           1
          </td>
         </tr>
         <tr>
          <th scope="row">
           4 .. 6
          </th>
          <td>
           2
          </td>
          <td>
           0
          </td>
          <td>
           0
          </td>
          <td>
           1
          </td>
         </tr>
         <tr>
          <th scope="row">
           7 .. 8
          </th>
          <td>
           4
          </td>
          <td>
           0
          </td>
          <td>
           0
          </td>
          <td>
           1
          </td>
         </tr>
         <tr>
          <th scope="row">
           9
          </th>
          <td>
           4
          </td>
          <td>
           2
          </td>
          <td>
           0
          </td>
          <td>
           1
          </td>
         </tr>
         <tr>
          <th scope="row">
           10
          </th>
          <td>
           4
          </td>
          <td>
           2
          </td>
          <td>
           1
          </td>
          <td>
           1
          </td>
         </tr>
         <tr>
          <th scope="row">
           11
          </th>
          <td>
           4
          </td>
          <td>
           3
          </td>
          <td>
           1
          </td>
          <td>
           1
          </td>
         </tr>
         <tr>
          <th scope="row">
           12
          </th>
          <td>
           6
          </td>
          <td>
           2
          </td>
          <td>
           1
          </td>
          <td>
           1
          </td>
         </tr>
         <tr>
          <th scope="row">
           13
          </th>
          <td>
           6
          </td>
          <td>
           3
          </td>
          <td>
           1
          </td>
          <td>
           1
          </td>
         </tr>
         <tr>
          <th scope="row">
           14
          </th>
          <td>
           6
          </td>
          <td>
           3
          </td>
          <td>
           1
          </td>
          <td>
           2
          </td>
         </tr>
         <tr>
          <th scope="row">
           15
          </th>
          <td>
           6
          </td>
          <td>
           3
          </td>
          <td>
           2
          </td>
          <td>
           2
          </td>
         </tr>
         <tr>
          <th scope="row">
           16
          </th>
          <td>
           8
          </td>
          <td>
           3
          </td>
          <td>
           1
          </td>
          <td>
           2
          </td>
         </tr>
         <tr>
          <th scope="row">
           17
          </th>
          <td>
           8
          </td>
          <td>
           4
          </td>
          <td>
           1
          </td>
          <td>
           2
          </td>
         </tr>
         <tr>
          <th scope="row">
           18
          </th>
          <td>
           8
          </td>
          <td>
           4
          </td>
          <td>
           2
          </td>
          <td>
           2
          </td>
         </tr>
         <tr>
          <th scope="row">
           19
          </th>
          <td>
           8
          </td>
          <td>
           5
          </td>
          <td>
           2
          </td>
          <td>
           2
          </td>
         </tr>
         <tr>
          <th scope="row">
           20
          </th>
          <td>
           10
          </td>
          <td>
           4
          </td>
          <td>
           2
          </td>
          <td>
           2
          </td>
         </tr>
         <tr>
          <th scope="row">
           21
          </th>
          <td>
           10
          </td>
          <td>
           5
          </td>
          <td>
           2
          </td>
          <td>
           2
          </td>
         </tr>
         <tr>
          <th scope="row">
           22
          </th>
          <td>
           10
          </td>
          <td>
           5
          </td>
          <td>
           2
          </td>
          <td>
           3
          </td>
         </tr>
         <tr>
          <th scope="row">
           23
          </th>
          <td>
           10
          </td>
          <td>
           6
          </td>
          <td>
           2
          </td>
          <td>
           3
          </td>
         </tr>
         <tr>
          <th scope="row">
           24
          </th>
          <td>
           12
          </td>
          <td>
           5
          </td>
          <td>
           2
          </td>
          <td>
           3
          </td>
         </tr>
         <tr>
          <th scope="row">
           25
          </th>
          <td>
           12
          </td>
          <td>
           6
          </td>
          <td>
           2
          </td>
          <td>
           3
          </td>
         </tr>
         <tr>
          <th scope="row">
           26
          </th>
          <td>
           12
          </td>
          <td>
           6
          </td>
          <td>
           3
          </td>
          <td>
           3
          </td>
         </tr>
         <tr>
          <th scope="row">
           27
          </th>
          <td>
           12
          </td>
          <td>
           7
          </td>
          <td>
           3
          </td>
          <td>
           3
          </td>
         </tr>
         <tr>
          <th scope="row">
           28
          </th>
          <td>
           12
          </td>
          <td>
           7
          </td>
          <td>
           3
          </td>
          <td>
           4
          </td>
         </tr>
         <tr>
          <th scope="row">
           29
          </th>
          <td>
           12
          </td>
          <td>
           8
          </td>
          <td>
           3
          </td>
          <td>
           4
          </td>
         </tr>
         <tr>
          <th scope="row">
           30
          </th>
          <td>
           12
          </td>
          <td>
           8
          </td>
          <td>
           4
          </td>
          <td>
           4
          </td>
         </tr>
         <tr>
          <th scope="row">
           31
          </th>
          <td>
           12
          </td>
          <td>
           9
          </td>
          <td>
           4
          </td>
          <td>
           4
          </td>
         </tr>
         <tr>
          <th scope="row">
           32
          </th>
          <td>
           16
          </td>
          <td>
           8
          </td>
          <td>
           3
          </td>
          <td>
           3
          </td>
         </tr>
         <tr>
          <th scope="row">
           33
          </th>
          <td>
           16
          </td>
          <td>
           8
          </td>
          <td>
           3
          </td>
          <td>
           4
          </td>
         </tr>
         <tr>
          <th scope="row">
           34
          </th>
          <td>
           16
          </td>
          <td>
           8
          </td>
          <td>
           4
          </td>
          <td>
           4
          </td>
         </tr>
         <tr>
          <th scope="row">
           35
          </th>
          <td>
           16
          </td>
          <td>
           9
          </td>
          <td>
           4
          </td>
          <td>
           4
          </td>
         </tr>
         <tr>
          <th scope="row">
           36
          </th>
          <td>
           16
          </td>
          <td>
           10
          </td>
          <td>
           4
          </td>
          <td>
           4
          </td>
         </tr>
         <tr>
          <th scope="row">
           37
          </th>
          <td>
           16
          </td>
          <td>
           10
          </td>
          <td>
           4
          </td>
          <td>
           5
          </td>
         </tr>
         <tr>
          <th scope="row">
           38
          </th>
          <td>
           16
          </td>
          <td>
           11
          </td>
          <td>
           4
          </td>
          <td>
           5
          </td>
         </tr>
         <tr>
          <th scope="row">
           39
          </th>
          <td>
           16
          </td>
          <td>
           11
          </td>
          <td>
           5
          </td>
          <td>
           5
          </td>
         </tr>
         <tr>
          <th scope="row">
           40
          </th>
          <td>
           20
          </td>
          <td>
           10
          </td>
          <td>
           4
          </td>
          <td>
           4
          </td>
         </tr>
         <tr>
          <th scope="row">
           41
          </th>
          <td>
           20
          </td>
          <td>
           10
          </td>
          <td>
           4
          </td>
          <td>
           5
          </td>
         </tr>
         <tr>
          <th scope="row">
           42
          </th>
          <td>
           20
          </td>
          <td>
           11
          </td>
          <td>
           4
          </td>
          <td>
           5
          </td>
         </tr>
         <tr>
          <th scope="row">
           43
          </th>
          <td>
           20
          </td>
          <td>
           11
          </td>
          <td>
           5
          </td>
          <td>
           5
          </td>
         </tr>
         <tr>
          <th scope="row">
           44
          </th>
          <td>
           20
          </td>
          <td>
           12
          </td>
          <td>
           5
          </td>
          <td>
           5
          </td>
         </tr>
         <tr>
          <th scope="row">
           45
          </th>
          <td>
           20
          </td>
          <td>
           12
          </td>
          <td>
           5
          </td>
          <td>
           6
          </td>
         </tr>
         <tr>
          <th scope="row">
           46
          </th>
          <td>
           20
          </td>
          <td>
           13
          </td>
          <td>
           5
          </td>
          <td>
           6
          </td>
         </tr>
         <tr>
          <th scope="row">
           47
          </th>
          <td>
           20
          </td>
          <td>
           13
          </td>
          <td>
           6
          </td>
          <td>
           6
          </td>
         </tr>
         <tr>
          <th scope="row">
           48
          </th>
          <td>
           24
          </td>
          <td>
           12
          </td>
          <td>
           5
          </td>
          <td>
           5
          </td>
         </tr>
         <tr>
          <th scope="row">
           49
          </th>
          <td>
           24
          </td>
          <td>
           12
          </td>
          <td>
           5
          </td>
          <td>
           6
          </td>
         </tr>
         <tr>
          <th scope="row">
           50
          </th>
          <td>
           24
          </td>
          <td>
           13
          </td>
          <td>
           5
          </td>
          <td>
           6
          </td>
         </tr>
         <tr>
          <th scope="row">
           51
          </th>
          <td>
           24
          </td>
          <td>
           13
          </td>
          <td>
           6
          </td>
          <td>
           6
          </td>
         </tr>
         <tr>
          <th scope="row">
           52
          </th>
          <td>
           24
          </td>
          <td>
           14
          </td>
          <td>
           6
          </td>
          <td>
           6
          </td>
         </tr>
         <tr>
          <th scope="row">
           53
          </th>
          <td>
           24
          </td>
          <td>
           14
          </td>
          <td>
           6
          </td>
          <td>
           7
          </td>
         </tr>
         <tr>
          <th scope="row">
           54
          </th>
          <td>
           24
          </td>
          <td>
           15
          </td>
          <td>
           6
          </td>
          <td>
           7
          </td>
         </tr>
         <tr>
          <th scope="row">
           55
          </th>
          <td>
           24
          </td>
          <td>
           15
          </td>
          <td>
           7
          </td>
          <td>
           7
          </td>
         </tr>
         <tr>
          <th scope="row">
           56
          </th>
          <td>
           24
          </td>
          <td>
           16
          </td>
          <td>
           7
          </td>
          <td>
           7
          </td>
         </tr>
         <tr>
          <th scope="row">
           57
          </th>
          <td>
           24
          </td>
          <td>
           16
          </td>
          <td>
           7
          </td>
          <td>
           8
          </td>
         </tr>
         <tr>
          <th scope="row">
           58
          </th>
          <td>
           24
          </td>
          <td>
           17
          </td>
          <td>
           7
          </td>
          <td>
           8
          </td>
         </tr>
         <tr>
          <th scope="row">
           59
          </th>
          <td>
           24
          </td>
          <td>
           17
          </td>
          <td>
           8
          </td>
          <td>
           8
          </td>
         </tr>
         <tr>
          <th scope="row">
           60
          </th>
          <td>
           24
          </td>
          <td>
           18
          </td>
          <td>
           8
          </td>
          <td>
           8
          </td>
         </tr>
         <tr>
          <th scope="row">
           61
          </th>
          <td>
           24
          </td>
          <td>
           18
          </td>
          <td>
           8
          </td>
          <td>
           9
          </td>
         </tr>
         <tr>
          <th scope="row">
           62
          </th>
          <td>
           24
          </td>
          <td>
           19
          </td>
          <td>
           8
          </td>
          <td>
           9
          </td>
         </tr>
         <tr>
          <th scope="row">
           63
          </th>
          <td>
           24
          </td>
          <td>
           19
          </td>
          <td>
           9
          </td>
          <td>
           9
          </td>
         </tr>
         <tr>
          <th scope="row">
           64
          </th>
          <td>
           32
          </td>
          <td>
           16
          </td>
          <td>
           7
          </td>
          <td>
           7
          </td>
         </tr>
         <tr>
          <th scope="row">
           65
          </th>
          <td>
           32
          </td>
          <td>
           16
          </td>
          <td>
           7
          </td>
          <td>
           8
          </td>
         </tr>
         <tr>
          <th scope="row">
           66
          </th>
          <td>
           32
          </td>
          <td>
           17
          </td>
          <td>
           7
          </td>
          <td>
           8
          </td>
         </tr>
         <tr>
          <th scope="row">
           67
          </th>
          <td>
           32
          </td>
          <td>
           17
          </td>
          <td>
           8
          </td>
          <td>
           8
          </td>
         </tr>
         <tr>
          <th scope="row">
           68
          </th>
          <td>
           32
          </td>
          <td>
           18
          </td>
          <td>
           8
          </td>
          <td>
           8
          </td>
         </tr>
         <tr>
          <th scope="row">
           69
          </th>
          <td>
           32
          </td>
          <td>
           18
          </td>
          <td>
           8
          </td>
          <td>
           9
          </td>
         </tr>
         <tr>
          <th scope="row">
           70
          </th>
          <td>
           32
          </td>
          <td>
           19
          </td>
          <td>
           8
          </td>
          <td>
           9
          </td>
         </tr>
         <tr>
          <th scope="row">
           71
          </th>
          <td>
           32
          </td>
          <td>
           20
          </td>
          <td>
           8
          </td>
          <td>
           9
          </td>
         </tr>
         <tr>
          <th scope="row">
           72
          </th>
          <td>
           32
          </td>
          <td>
           20
          </td>
          <td>
           8
          </td>
          <td>
           10
          </td>
         </tr>
        </tbody>
       </table>
      </div>
      <div class="table-contents">
       <table cellpadding="0" cellspacing="0" style="position: fixed; top: 0px; display: none; left: 431px; width: 709px;">
        <thead>
         <tr>
          <th scope="col" style="width: 368.172px;">
           <code class="literal">
            MaxNoOfExecutionThreads
           </code>
           Value
          </th>
          <th scope="col" style="width: 84.9531px;">
           LDM Threads
          </th>
          <th scope="col" style="width: 84.9531px;">
           TC Threads
          </th>
          <th scope="col" style="width: 84.9531px;">
           Send Threads
          </th>
          <th scope="col" style="width: 84.9688px;">
           Receive Threads
          </th>
         </tr>
        </thead>
       </table>
      </div>
     </div>
     <br class="table-break"/>
     <p>
      There is always one SUMA (replication) thread.
     </p>
     <p>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbmtd-nooffragmentlogparts">
       <code class="literal">
        NoOfFragmentLogParts
       </code>
      </a>
      should be set equal to the number of LDM threads used by
      <a class="link" href="mysql-cluster-programs-ndbmtd.html" title="25.5.3 ndbmtd — The NDB Cluster Data Node Daemon (Multi-Threaded)">
       <span class="command">
        <strong>
         ndbmtd
        </strong>
       </span>
      </a>
      , as determined by the setting for
            this parameter. This ratio should not be any greater than
            4:1; a configuration in which this is the case is
            specifically disallowed.
     </p>
     <p>
      The number of LDM threads also determines the number of
            partitions used by an
      <code class="literal">
       NDB
      </code>
      table that is
            not explicitly partitioned; this is the number of LDM
            threads times the number of data nodes in the cluster. (If
      <a class="link" href="mysql-cluster-programs-ndbd.html" title="25.5.1 ndbd — The NDB Cluster Data Node Daemon">
       <span class="command">
        <strong>
         ndbd
        </strong>
       </span>
      </a>
      is used on the data nodes rather
            than
      <a class="link" href="mysql-cluster-programs-ndbmtd.html" title="25.5.3 ndbmtd — The NDB Cluster Data Node Daemon (Multi-Threaded)">
       <span class="command">
        <strong>
         ndbmtd
        </strong>
       </span>
      </a>
      , then there is always a
            single LDM thread; in this case, the number of partitions
            created automatically is simply equal to the number of data
            nodes. See
      <a class="xref" href="mysql-cluster-nodes-groups.html" title="25.2.2 NDB Cluster Nodes, Node Groups, Fragment Replicas, and Partitions">
       Section 25.2.2, “NDB Cluster Nodes, Node Groups, Fragment Replicas, and Partitions”
      </a>
      , for
            more information.
     </p>
     <p>
      Adding large tablespaces for Disk Data tables when using
            more than the default number of LDM threads may cause issues
            with resource and CPU usage if the disk page buffer is
            insufficiently large; see the description of the
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-diskpagebuffermemory">
       <code class="literal">
        DiskPageBufferMemory
       </code>
      </a>
      configuration parameter, for more information.
     </p>
     <p>
      The thread types are described later in this section (see
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbmtd-threadconfig">
       <code class="literal">
        ThreadConfig
       </code>
      </a>
      ).
     </p>
     <p>
      Setting this parameter outside the permitted range of values
            causes the management server to abort on startup with the
            error
      <span class="errortext">
       Error line
       <em class="replaceable">
        <code>
         number
        </code>
       </em>
       : Illegal value
       <em class="replaceable">
        <code>
         value
        </code>
       </em>
       for parameter
            MaxNoOfExecutionThreads
      </span>
      .
     </p>
     <p>
      For
      <code class="literal">
       MaxNoOfExecutionThreads
      </code>
      , a value of 0
            or 1 is rounded up internally by
      <a class="link" href="mysql-cluster.html" title="Chapter 25 MySQL NDB Cluster 8.4">
       <code class="literal">
        NDB
       </code>
      </a>
      to 2, so that 2 is
            considered this parameter's default and minimum value.
     </p>
     <p>
      <code class="literal">
       MaxNoOfExecutionThreads
      </code>
      is generally
            intended to be set equal to the number of CPU threads
            available, and to allocate a number of threads of each type
            suitable to typical workloads. It does not assign particular
            threads to specified CPUs. For cases where it is desirable
            to vary from the settings provided, or to bind threads to
            CPUs, you should use
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbmtd-threadconfig">
       <code class="literal">
        ThreadConfig
       </code>
      </a>
      instead, which allows you to allocate each thread directly
            to a desired type, CPU, or both.
     </p>
     <p>
      The multithreaded data node process always spawns, at a
            minimum, the threads listed here:
     </p>
     <div class="itemizedlist">
      <ul class="itemizedlist" style="list-style-type: circle; ">
       <li class="listitem">
        <p>
         1 local query handler (LDM) thread
        </p>
       </li>
       <li class="listitem">
        <p>
         1 receive thread
        </p>
       </li>
       <li class="listitem">
        <p>
         1 subscription manager (SUMA or replication) thread
        </p>
       </li>
      </ul>
     </div>
     <p>
      For a
      <code class="literal">
       MaxNoOfExecutionThreads
      </code>
      value of 8
            or less, no TC threads are created, and TC handling is
            instead performed by the main thread.
     </p>
     <p>
      Changing the number of LDM threads normally requires a
            system restart, whether it is changed using this parameter
            or
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbmtd-threadconfig">
       <code class="literal">
        ThreadConfig
       </code>
      </a>
      ,
            but it is possible to effect the change using a node initial
            restart (
      <span class="emphasis">
       <em>
        NI
       </em>
      </span>
      ) provided the following two
            conditions are met:
     </p>
     <div class="itemizedlist">
      <ul class="itemizedlist" style="list-style-type: circle; ">
       <li class="listitem">
        <p>
         Each LDM thread handles a maximum of 8 fragments, and
        </p>
       </li>
       <li class="listitem">
        <p>
         The total number of table fragments is an integer
                multiple of the number of LDM threads.
        </p>
       </li>
      </ul>
     </div>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbmtd-maxsenddelay">
      </a>
      <code class="literal">
       MaxSendDelay
      </code>
     </p>
     <a class="indexterm" name="idm46045115734512">
     </a>
     <a class="indexterm" name="idm46045115733440">
     </a>
     <div class="informaltable">
      <a name="maxsenddelay-ndbmtd-table">
      </a>
      <table frame="box" rules="all" summary="MaxSendDelay multi-threaded data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          microseconds
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          0
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          0 - 11000
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      This parameter can be used to cause data nodes to wait
            momentarily before sending data to API nodes; in some
            circumstances, described in the following paragraphs, this
            can result in more efficient sending of larger volumes of
            data and higher overall throughput.
     </p>
     <p>
      <code class="literal">
       MaxSendDelay
      </code>
      can be useful when there are
            a great many API nodes at saturation point or close to it,
            which can result in waves of increasing and decreasing
            performance. This occurs when the data nodes are able to
            send results back to the API nodes relatively quickly, with
            many small packets to process, which can take longer to
            process per byte compared to large packets, thus slowing
            down the API nodes; later, the data nodes start sending
            larger packets again.
     </p>
     <p>
      To handle this type of scenario, you can set
      <code class="literal">
       MaxSendDelay
      </code>
      to a nonzero value, which
            helps to ensure that responses are not sent back to the API
            nodes so quickly. When this is done, responses are sent
            immediately when there is no other competing traffic, but
            when there is, setting
      <code class="literal">
       MaxSendDelay
      </code>
      causes the data nodes to wait long enough to ensure that
            they send larger packets. In effect, this introduces an
            artificial bottleneck into the send process, which can
            actually improve throughput significantly.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbmtd-nooffragmentlogparts">
      </a>
      <code class="literal">
       NoOfFragmentLogParts
      </code>
     </p>
     <a class="indexterm" name="idm46045115708864">
     </a>
     <a class="indexterm" name="idm46045115707792">
     </a>
     <div class="informaltable">
      <a name="nooffragmentlogparts-ndbmtd-table">
      </a>
      <table frame="box" rules="all" summary="NoOfFragmentLogParts multi-threaded data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          numeric
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          4
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          4, 6, 8, 10, 12, 16, 20, 24, 32
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Initial Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster; each data node must
                    be restarted with
           <a class="link" href="mysql-cluster-programs-ndbd.html#option_ndbd_initial">
            <code class="option">
             --initial
            </code>
           </a>
           . (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      Set the number of log file groups for redo logs belonging to
            this
      <a class="link" href="mysql-cluster-programs-ndbmtd.html" title="25.5.3 ndbmtd — The NDB Cluster Data Node Daemon (Multi-Threaded)">
       <span class="command">
        <strong>
         ndbmtd
        </strong>
       </span>
      </a>
      . The value of this parameter
            should be set equal to the number of LDM threads used by
      <a class="link" href="mysql-cluster-programs-ndbmtd.html" title="25.5.3 ndbmtd — The NDB Cluster Data Node Daemon (Multi-Threaded)">
       <span class="command">
        <strong>
         ndbmtd
        </strong>
       </span>
      </a>
      as determined by the setting for
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbmtd-maxnoofexecutionthreads">
       <code class="literal">
        MaxNoOfExecutionThreads
       </code>
      </a>
      .
            A configuration using more than 4 redo log parts per LDM is
            disallowed.
     </p>
     <p>
      See the description of
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbmtd-maxnoofexecutionthreads">
       <code class="literal">
        MaxNoOfExecutionThreads
       </code>
      </a>
      for more information.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbmtd-numcpus">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbmtd-numcpus">
       <code class="literal">
        NumCPUs
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045115680272">
     </a>
     <div class="informaltable">
      <a name="numcpus-ndbmtd-table">
      </a>
      <table frame="box" rules="all" summary="NumCPUs multi-threaded data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          integer
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          0
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          0 - 1024
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Initial System Restart:
            </strong>
           </span>
           Requires a complete shutdown of the
                    cluster, wiping and restoring the cluster file
                    system from a
           <a class="link" href="mysql-cluster-backup.html" title="25.6.8 Online Backup of NDB Cluster">
            backup
           </a>
           ,
                    and then restarting the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      Cause automatic thread configuration to use only this many
            CPUs. Has no effect if
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbmtd-automaticthreadconfig">
       <code class="literal">
        AutomaticThreadConfig
       </code>
      </a>
      is not enabled.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbmtd-partitionspernode">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbmtd-partitionspernode">
       <code class="literal">
        PartitionsPerNode
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045115658448">
     </a>
     <div class="informaltable">
      <a name="partitionspernode-ndbmtd-table">
      </a>
      <table frame="box" rules="all" summary="PartitionsPerNode multi-threaded data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          integer
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          2
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          1 - 32
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      Sets the number of partitions used on each node when
            creating a new
      <code class="literal">
       NDB
      </code>
      table. This makes it
            possible to avoid splitting up tables into an excessive
            number of partitions when the number of local data managers
            (LDMs) grows high.
     </p>
     <p>
      While it is possible to set this parameter to different
            values on different data nodes and there are no known issues
            with doing so, this is also not likely to be of any
            advantage; for this reason, it is recommended simply to set
            it once, for all data nodes, in the
      <code class="literal">
       [ndbd
            default]
      </code>
      section of the global
      <code class="filename">
       config.ini
      </code>
      file.
     </p>
     <p>
      If
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbmtd-classicfragmentation">
       <code class="literal">
        ClassicFragmentation
       </code>
      </a>
      is enabled, any setting for this parameter is ignored.
            (Remember that enabling
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbmtd-automaticthreadconfig">
       <code class="literal">
        AutomaticThreadConfig
       </code>
      </a>
      disables
      <code class="literal">
       ClassicFragmentation
      </code>
      .)
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbmtd-threadconfig">
      </a>
      <code class="literal">
       ThreadConfig
      </code>
     </p>
     <a class="indexterm" name="idm46045115631744">
     </a>
     <a class="indexterm" name="idm46045115630672">
     </a>
     <div class="informaltable">
      <a name="threadconfig-ndbmtd-table">
      </a>
      <table frame="box" rules="all" summary="ThreadConfig multi-threaded data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          string
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          ''
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          ...
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             System Restart:
            </strong>
           </span>
           Requires a complete shutdown and restart
                    of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      This parameter is used with
      <a class="link" href="mysql-cluster-programs-ndbmtd.html" title="25.5.3 ndbmtd — The NDB Cluster Data Node Daemon (Multi-Threaded)">
       <span class="command">
        <strong>
         ndbmtd
        </strong>
       </span>
      </a>
      to
            assign threads of different types to different CPUs. Its
            value is a string whose format has the following syntax:
     </p>
     <div class="copytoclipboard-wrapper">
      <pre class="programlisting language-simple"><div class="docs-select-all right" id="sa17826188"><div class="copy-help left">Press ⌘+C to copy</div> <div class="right"><button class="clipboard-btn" title="Copy to Clipboard"><span class="icon-clipboard"></span></button></div></div><code class="language-simple">ThreadConfig <span class="token operator">:</span><span class="token operator">=</span> <em class="replaceable">entry</em><span class="token punctuation">[</span><span class="token punctuation">,</span><em class="replaceable">entry</em><span class="token punctuation">[</span><span class="token punctuation">,</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">]</span><span class="token punctuation">]</span>

<em class="replaceable">entry</em> <span class="token operator">:</span><span class="token operator">=</span> <em class="replaceable">type</em><span class="token operator">=</span><span class="token punctuation">{</span><em class="replaceable">param</em><span class="token punctuation">[</span><span class="token punctuation">,</span><em class="replaceable">param</em><span class="token punctuation">[</span><span class="token punctuation">,</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">]</span><span class="token punctuation">]</span><span class="token punctuation">}</span>

<em class="replaceable">type</em> <span class="token operator">:</span><span class="token operator">=</span> ldm <span class="token operator">|</span> query <span class="token operator">|</span> recover <span class="token operator">|</span> main <span class="token operator">|</span> recv <span class="token operator">|</span> send <span class="token operator">|</span> rep <span class="token operator">|</span> io <span class="token operator">|</span> tc <span class="token operator">|</span> watchdog <span class="token operator">|</span> idxbld

<em class="replaceable">param</em> <span class="token operator">:</span><span class="token operator">=</span> count<span class="token operator">=</span><em class="replaceable">number</em>
  <span class="token operator">|</span> cpubind<span class="token operator">=</span><em class="replaceable">cpu_list</em>
  <span class="token operator">|</span> cpuset<span class="token operator">=</span><em class="replaceable">cpu_list</em>
  <span class="token operator">|</span> spintime<span class="token operator">=</span><em class="replaceable">number</em>
  <span class="token operator">|</span> realtime<span class="token operator">=</span><span class="token punctuation">{</span>0<span class="token operator">|</span>1<span class="token punctuation">}</span>
  <span class="token operator">|</span> nosend<span class="token operator">=</span><span class="token punctuation">{</span>0<span class="token operator">|</span>1<span class="token punctuation">}</span>
  <span class="token operator">|</span> thread_prio<span class="token operator">=</span><span class="token punctuation">{</span>0<span class="token punctuation">.</span><span class="token punctuation">.</span>10<span class="token punctuation">}</span>
  <span class="token operator">|</span> cpubind_exclusive<span class="token operator">=</span><em class="replaceable">cpu_list</em>
  <span class="token operator">|</span> cpuset_exclusive<span class="token operator">=</span><em class="replaceable">cpu_list</em></code></pre>
     </div>
     <p>
      The curly braces
            (
      <code class="literal">
       {
      </code>
      ...
      <code class="literal">
       }
      </code>
      ) surrounding
            the list of parameters are required, even if there is only
            one parameter in the list.
     </p>
     <p>
      A
      <em class="replaceable">
       <code>
        param
       </code>
      </em>
      (parameter) specifies any
            or all of the following information:
     </p>
     <div class="itemizedlist">
      <ul class="itemizedlist" style="list-style-type: circle; ">
       <li class="listitem">
        <p>
         The number of threads of the given type
                (
         <code class="literal">
          count
         </code>
         ).
        </p>
       </li>
       <li class="listitem">
        <p>
         The set of CPUs to which the threads of the given type
                are to be nonexclusively bound. This is determined by
                either one of
         <code class="literal">
          cpubind
         </code>
         or
         <code class="literal">
          cpuset
         </code>
         ).
         <code class="literal">
          cpubind
         </code>
         causes each thread to be bound (nonexclusively) to a CPU
                in the set;
         <code class="literal">
          cpuset
         </code>
         means that each
                thread is bound (nonexclusively) to the set of CPUs
                specified.
        </p>
        <p>
         On Solaris, you can instead specify a set of CPUs to
                which the threads of the given type are to be bound
                exclusively.
         <code class="literal">
          cpubind_exclusive
         </code>
         causes
                each thread to be bound exclusively to a CPU in the set;
         <code class="literal">
          cpuset_exclsuive
         </code>
         means that each
                thread is bound exclusively to the set of CPUs
                specified.
        </p>
        <p>
         Only one of
         <code class="literal">
          cpubind
         </code>
         ,
         <code class="literal">
          cpuset
         </code>
         ,
         <code class="literal">
          cpubind_exclusive
         </code>
         , or
         <code class="literal">
          cpuset_exclusive
         </code>
         can be provided in a
                single configuration.
        </p>
       </li>
       <li class="listitem">
        <p>
         <code class="literal">
          spintime
         </code>
         determines the wait time in
                microseconds the thread spins before going to sleep.
        </p>
        <p>
         The default value for
         <code class="literal">
          spintime
         </code>
         is the
                value of the
         <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-schedulerspintimer">
          <code class="literal">
           SchedulerSpinTimer
          </code>
         </a>
         data node configuration parameter.
        </p>
        <p>
         <code class="literal">
          spintime
         </code>
         does not apply to I/O
                threads, watchdog, or offline index build threads, and
                so cannot be set for these thread types.
        </p>
       </li>
       <li class="listitem">
        <p>
         <code class="literal">
          realtime
         </code>
         can be set to 0 or 1. If it
                is set to 1, the threads run with real-time priority.
                This also means that
         <code class="literal">
          thread_prio
         </code>
         cannot be set.
        </p>
        <p>
         The
         <code class="literal">
          realtime
         </code>
         parameter is set by
                default to the value of the
         <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-realtimescheduler">
          <code class="literal">
           RealtimeScheduler
          </code>
         </a>
         data node configuration parameter.
        </p>
        <p>
         <code class="literal">
          realtime
         </code>
         cannot be set for offline
                index build threads.
        </p>
       </li>
       <li class="listitem">
        <p>
         By setting
         <code class="literal">
          nosend
         </code>
         to 1, you can
                prevent a
         <code class="literal">
          main
         </code>
         ,
         <code class="literal">
          ldm
         </code>
         ,
         <code class="literal">
          rep
         </code>
         , or
         <code class="literal">
          tc
         </code>
         thread from assisting the send
                threads. This parameter is 0 by default, and cannot be
                used with other types of threads.
        </p>
       </li>
       <li class="listitem">
        <p>
         <code class="literal">
          thread_prio
         </code>
         is a thread priority
                level that can be set from 0 to 10, with 10 representing
                the greatest priority. The default is 5. The precise
                effects of this parameter are platform-specific, and are
                described later in this section.
        </p>
        <p>
         The thread priority level cannot be set for offline
                index build threads.
        </p>
       </li>
      </ul>
     </div>
     <p>
      <b>
       thread_prio settings and effects by platform.
      </b>
      The implementation of
      <code class="literal">
       thread_prio
      </code>
      differs between Linux/FreeBSD, Solaris, and Windows. In
              the following list, we discuss its effects on each of
              these platforms in turn:
     </p>
     <div class="itemizedlist">
      <ul class="itemizedlist" style="list-style-type: circle; ">
       <li class="listitem">
        <p>
         <span class="emphasis">
          <em>
           Linux and FreeBSD
          </em>
         </span>
         : We map
         <code class="literal">
          thread_prio
         </code>
         to a value to be supplied
                to the
         <code class="literal">
          nice
         </code>
         system call. Since a
                lower niceness value for a process indicates a higher
                process priority, increasing
         <code class="literal">
          thread_prio
         </code>
         has the effect of
                lowering the
         <code class="literal">
          nice
         </code>
         value.
        </p>
        <div class="table">
         <a name="idm46045115564368">
         </a>
         <p class="title">
          <b>
           Table 25.12 Mapping of thread_prio to nice values on Linux
and FreeBSD
          </b>
         </p>
         <div class="table-contents">
          <table>
           <colgroup>
            <col style="width: 50%"/>
            <col style="width: 50%"/>
           </colgroup>
           <thead>
            <tr>
             <th>
              <code class="literal">
               thread_prio
              </code>
              value
             </th>
             <th>
              <code class="literal">
               nice
              </code>
              value
             </th>
            </tr>
           </thead>
           <tbody>
            <tr>
             <td>
              0
             </td>
             <td>
              19
             </td>
            </tr>
            <tr>
             <td>
              1
             </td>
             <td>
              16
             </td>
            </tr>
            <tr>
             <td>
              2
             </td>
             <td>
              12
             </td>
            </tr>
            <tr>
             <td>
              3
             </td>
             <td>
              8
             </td>
            </tr>
            <tr>
             <td>
              4
             </td>
             <td>
              4
             </td>
            </tr>
            <tr>
             <td>
              5
             </td>
             <td>
              0
             </td>
            </tr>
            <tr>
             <td>
              6
             </td>
             <td>
              -4
             </td>
            </tr>
            <tr>
             <td>
              7
             </td>
             <td>
              -8
             </td>
            </tr>
            <tr>
             <td>
              8
             </td>
             <td>
              -12
             </td>
            </tr>
            <tr>
             <td>
              9
             </td>
             <td>
              -16
             </td>
            </tr>
            <tr>
             <td>
              10
             </td>
             <td>
              -20
             </td>
            </tr>
           </tbody>
          </table>
         </div>
         <div class="table-contents">
          <table cellpadding="0" cellspacing="0" style="position: fixed; top: 0px; display: none; left: 461px; width: 279px;">
           <thead>
            <tr>
             <th style="width: 138.953px;">
              <code class="literal">
               thread_prio
              </code>
              value
             </th>
             <th style="width: 138.953px;">
              <code class="literal">
               nice
              </code>
              value
             </th>
            </tr>
           </thead>
          </table>
         </div>
        </div>
        <br class="table-break"/>
        <p>
         Some operating systems may provide for a maximum process
                niceness level of 20, but this is not supported by all
                targeted versions; for this reason, we choose 19 as the
                maximum
         <code class="literal">
          nice
         </code>
         value that can be set.
        </p>
       </li>
       <li class="listitem">
        <p>
         <span class="emphasis">
          <em>
           Solaris
          </em>
         </span>
         : Setting
         <code class="literal">
          thread_prio
         </code>
         on Solaris sets the
                Solaris FX priority, with mappings as shown in the
                following table:
        </p>
        <div class="table">
         <a name="idm46045115531040">
         </a>
         <p class="title">
          <b>
           Table 25.13 Mapping of thread_prio to FX priority on
Solaris
          </b>
         </p>
         <div class="table-contents">
          <table>
           <colgroup>
            <col style="width: 50%"/>
            <col style="width: 50%"/>
           </colgroup>
           <thead>
            <tr>
             <th>
              <code class="literal">
               thread_prio
              </code>
              value
             </th>
             <th>
              Solaris
              <code class="literal">
               FX
              </code>
              priority
             </th>
            </tr>
           </thead>
           <tbody>
            <tr>
             <td>
              0
             </td>
             <td>
              15
             </td>
            </tr>
            <tr>
             <td>
              1
             </td>
             <td>
              20
             </td>
            </tr>
            <tr>
             <td>
              2
             </td>
             <td>
              25
             </td>
            </tr>
            <tr>
             <td>
              3
             </td>
             <td>
              30
             </td>
            </tr>
            <tr>
             <td>
              4
             </td>
             <td>
              35
             </td>
            </tr>
            <tr>
             <td>
              5
             </td>
             <td>
              40
             </td>
            </tr>
            <tr>
             <td>
              6
             </td>
             <td>
              45
             </td>
            </tr>
            <tr>
             <td>
              7
             </td>
             <td>
              50
             </td>
            </tr>
            <tr>
             <td>
              8
             </td>
             <td>
              55
             </td>
            </tr>
            <tr>
             <td>
              9
             </td>
             <td>
              59
             </td>
            </tr>
            <tr>
             <td>
              10
             </td>
             <td>
              60
             </td>
            </tr>
           </tbody>
          </table>
         </div>
         <div class="table-contents">
          <table cellpadding="0" cellspacing="0" style="position: fixed; top: 0px; display: none; left: 461px; width: 279px;">
           <thead>
            <tr>
             <th style="width: 138.953px;">
              <code class="literal">
               thread_prio
              </code>
              value
             </th>
             <th style="width: 138.953px;">
              Solaris
              <code class="literal">
               FX
              </code>
              priority
             </th>
            </tr>
           </thead>
          </table>
         </div>
        </div>
        <br class="table-break"/>
        <p>
         A
         <code class="literal">
          thread_prio
         </code>
         setting of 9 is mapped
                on Solaris to the special FX priority value 59, which
                means that the operating system also attempts to force
                the thread to run alone on its own CPU core.
        </p>
       </li>
       <li class="listitem">
        <p>
         <span class="emphasis">
          <em>
           Windows
          </em>
         </span>
         : We map
         <code class="literal">
          thread_prio
         </code>
         to a Windows thread
                priority value passed to the Windows API
         <code class="literal">
          SetThreadPriority()
         </code>
         function. This
                mapping is shown in the following table:
        </p>
        <div class="table">
         <a name="idm46045115497008">
         </a>
         <p class="title">
          <b>
           Table 25.14 Mapping of thread_prio to Windows thread
priority
          </b>
         </p>
         <div class="table-contents">
          <table>
           <colgroup>
            <col style="width: 50%"/>
            <col style="width: 50%"/>
           </colgroup>
           <thead>
            <tr>
             <th>
              <code class="literal">
               thread_prio
              </code>
              value
             </th>
             <th>
              Windows thread priority
             </th>
            </tr>
           </thead>
           <tbody>
            <tr>
             <td>
              0 - 1
             </td>
             <td>
              <code class="literal">
               THREAD_PRIORITY_LOWEST
              </code>
             </td>
            </tr>
            <tr>
             <td>
              2 - 3
             </td>
             <td>
              <code class="literal">
               THREAD_PRIORITY_BELOW_NORMAL
              </code>
             </td>
            </tr>
            <tr>
             <td>
              4 - 5
             </td>
             <td>
              <code class="literal">
               THREAD_PRIORITY_NORMAL
              </code>
             </td>
            </tr>
            <tr>
             <td>
              6 - 7
             </td>
             <td>
              <code class="literal">
               THREAD_PRIORITY_ABOVE_NORMAL
              </code>
             </td>
            </tr>
            <tr>
             <td>
              8 - 10
             </td>
             <td>
              <code class="literal">
               THREAD_PRIORITY_HIGHEST
              </code>
             </td>
            </tr>
           </tbody>
          </table>
         </div>
        </div>
        <br class="table-break"/>
       </li>
      </ul>
     </div>
     <p>
      The
      <em class="replaceable">
       <code>
        type
       </code>
      </em>
      attribute represents an
            NDB thread type. The thread types supported, and the range
            of permitted
      <code class="literal">
       count
      </code>
      values for each, are
            provided in the following list:
     </p>
     <div class="itemizedlist">
      <ul class="itemizedlist" style="list-style-type: circle; ">
       <li class="listitem">
        <p>
         <code class="literal">
          ldm
         </code>
         : Local query handler
                (
         <a class="ulink" href="/doc/ndb-internals/en/ndb-internals-kernel-blocks-dblqh.html" target="_top">
          <code class="literal">
           DBLQH
          </code>
         </a>
         kernel block)
                that handles data. The more LDM threads that are used,
                the more highly partitioned the data becomes.
        </p>
        <p>
         When
         <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbmtd-classicfragmentation">
          <code class="literal">
           ClassicFragmentation
          </code>
         </a>
         is set to 0, the number of partitions is independent of
                the number of LDM threads, and depends on the value of
         <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbmtd-partitionspernode">
          <code class="literal">
           PartitionsPerNode
          </code>
         </a>
         instead.) Each LDM thread maintains its own sets of data
                and index partitions, as well as its own redo log.
         <code class="literal">
          ldm
         </code>
         can be set to any value in the
                range 0 to 332 inclusive. When setting it to 0,
         <code class="literal">
          main
         </code>
         ,
         <code class="literal">
          rep
         </code>
         , and
         <code class="literal">
          tc
         </code>
         must also be 0, and
         <code class="literal">
          recv
         </code>
         must also be set to 1; doing
                this causes
         <a class="link" href="mysql-cluster-programs-ndbmtd.html" title="25.5.3 ndbmtd — The NDB Cluster Data Node Daemon (Multi-Threaded)">
          <span class="command">
           <strong>
            ndbmtd
           </strong>
          </span>
         </a>
         to emulate
         <a class="link" href="mysql-cluster-programs-ndbd.html" title="25.5.1 ndbd — The NDB Cluster Data Node Daemon">
          <span class="command">
           <strong>
            ndbd
           </strong>
          </span>
         </a>
         .
        </p>
        <p>
         Each LDM thread is normally grouped with 1 query thread
                to form an LDM group. A set of 4 to 8 LDM groups is
                grouped into a round robin groups. Each LDM thread can
                be assisted in execution by any query or threads in the
                same round robin group.
         <code class="literal">
          NDB
         </code>
         attempts
                to form round robin groups such that all threads in each
                round robin group are locked to CPUs that are attached
                to the same L3 cache, within the limits of the range
                stated for a round robin group's size.
        </p>
        <p>
         Changing the number of LDM threads normally requires a
                system restart to be effective and safe for cluster
                operations; this requirement is relaxed in certain
                cases, as explained later in this section. This is also
                true when this is done using
         <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbmtd-maxnoofexecutionthreads">
          <code class="literal">
           MaxNoOfExecutionThreads
          </code>
         </a>
         .
        </p>
        <p>
         Adding large tablespaces (hundreds of gigabytes or more)
                for Disk Data tables when using more than the default
                number of LDMs may cause issues with resource and CPU
                usage if
         <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-diskpagebuffermemory">
          <code class="literal">
           DiskPageBufferMemory
          </code>
         </a>
         is not sufficiently large.
        </p>
        <p>
         If
         <code class="literal">
          ldm
         </code>
         is not included in the
         <code class="literal">
          ThreadConfig
         </code>
         value string, one
         <code class="literal">
          ldm
         </code>
         thread is created.
        </p>
       </li>
       <li class="listitem">
        <p>
         <code class="literal">
          query
         </code>
         : A query thread is tied to an
                LDM and together with it forms an LDM group; acts only
                on
         <a class="link" href="innodb-transaction-isolation-levels.html#isolevel_read-committed">
          <code class="literal">
           READ COMMITTED
          </code>
         </a>
         queries. The number of query threads must be set to 0,
                1, 2, or 3 times the number of LDM threads. Query
                threads are not used, unless this is overridden by
                setting
         <code class="literal">
          query
         </code>
         to a nonzero value, or
                by enabling the
         <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbmtd-automaticthreadconfig">
          <code class="literal">
           AutomaticThreadConfig
          </code>
         </a>
         parameter.
        </p>
        <p>
         A query thread also acts as a recovery thread (see next
                item), although the reverse is not true.
        </p>
        <p>
         Changing the number of query threads requires a node
                restart.
        </p>
       </li>
       <li class="listitem">
        <p>
         <code class="literal">
          recover
         </code>
         : A recovery thread restores
                data from a fragment as part of an LCP.
        </p>
        <p>
         Changing the number of recovery threads requires a node
                restart.
        </p>
       </li>
       <li class="listitem">
        <p>
         <code class="literal">
          tc
         </code>
         : Transaction coordinator thread
                (
         <a class="ulink" href="/doc/ndb-internals/en/ndb-internals-kernel-blocks-dbtc.html" target="_top">
          <code class="literal">
           DBTC
          </code>
         </a>
         kernel block)
                containing the state of an ongoing transaction. The
                maximum number of TC threads is 128.
        </p>
        <p>
         Optimally, every new transaction can be assigned to a
                new TC thread. In most cases 1 TC thread per 2 LDM
                threads is sufficient to guarantee that this can happen.
                In cases where the number of writes is relatively small
                when compared to the number of reads, it is possible
                that only 1 TC thread per 4 LQH threads is required to
                maintain transaction states. Conversely, in applications
                that perform a great many updates, it may be necessary
                for the ratio of TC threads to LDM threads to approach 1
                (for example, 3 TC threads to 4 LDM threads).
        </p>
        <p>
         Setting
         <code class="literal">
          tc
         </code>
         to 0 causes TC handling to
                be done by the main thread. In most cases, this is
                effectively the same as setting it to 1.
        </p>
        <p>
         Range: 0-64
        </p>
       </li>
       <li class="listitem">
        <p>
         <code class="literal">
          main
         </code>
         : Data dictionary and transaction
                coordinator (
         <a class="ulink" href="/doc/ndb-internals/en/ndb-internals-kernel-blocks-dbdih.html" target="_top">
          <code class="literal">
           DBDIH
          </code>
         </a>
         and
         <a class="ulink" href="/doc/ndb-internals/en/ndb-internals-kernel-blocks-dbtc.html" target="_top">
          <code class="literal">
           DBTC
          </code>
         </a>
         kernel
                blocks), providing schema management. It is also
                possible to specify zero or two main threads.
        </p>
        <p>
         Range: 0-2.
        </p>
        <p>
         Setting
         <code class="literal">
          main
         </code>
         to 0 and
         <code class="literal">
          rep
         </code>
         to 1 causes the
         <code class="literal">
          main
         </code>
         blocks to be placed into the
         <code class="literal">
          rep
         </code>
         thread; the combined thread is
                shown in the
         <a class="link" href="mysql-cluster-ndbinfo-threads.html" title="25.6.17.63 The ndbinfo threads Table">
          <code class="literal">
           ndbinfo.threads
          </code>
         </a>
         table
                as
         <code class="literal">
          main_rep
         </code>
         . This is effectively the
                same as setting
         <code class="literal">
          rep
         </code>
         equal to 1 and
         <code class="literal">
          main
         </code>
         equal to 0.
        </p>
        <p>
         It is also possible to set both
         <code class="literal">
          main
         </code>
         and
         <code class="literal">
          rep
         </code>
         to 0, in which case both
                threads are placed in the first
         <code class="literal">
          recv
         </code>
         thread; the resulting combined thread is named
         <code class="literal">
          main_rep_recv
         </code>
         in the
         <a class="link" href="mysql-cluster-ndbinfo-threads.html" title="25.6.17.63 The ndbinfo threads Table">
          <code class="literal">
           threads
          </code>
         </a>
         table.
        </p>
        <p>
         If
         <code class="literal">
          main
         </code>
         is omitted from the
         <code class="literal">
          ThreadConfig
         </code>
         value stringthis, one
         <code class="literal">
          main
         </code>
         thread is created.
        </p>
       </li>
       <li class="listitem">
        <p>
         <code class="literal">
          recv
         </code>
         : Receive thread
                (
         <a class="ulink" href="/doc/ndb-internals/en/ndb-internals-kernel-blocks-cmvmi.html" target="_top">
          <code class="literal">
           CMVMI
          </code>
         </a>
         kernel
                block). Each receive thread handles one or more sockets
                for communicating with other nodes in an NDB Cluster,
                with one socket per node. NDB Cluster supports multiple
                receive threads; the maximum is 16 such threads.
        </p>
        <p>
         Range: 1 - 64.
        </p>
        <p>
         If
         <code class="literal">
          recv
         </code>
         is omitted from the
         <code class="literal">
          ThreadConfig
         </code>
         value string, one
         <code class="literal">
          recv
         </code>
         thread is created.
        </p>
       </li>
       <li class="listitem">
        <p>
         <code class="literal">
          send
         </code>
         : Send thread
                (
         <a class="ulink" href="/doc/ndb-internals/en/ndb-internals-kernel-blocks-cmvmi.html" target="_top">
          <code class="literal">
           CMVMI
          </code>
         </a>
         kernel
                block). To increase throughput, it is possible to
                perform sends from one or more separate, dedicated
                threads (maximum 8).
        </p>
        <p>
         Using an excessive number of send threads can have an
                adverse effect on scalability.
        </p>
        <p>
         Previously, all threads handled their own sending
                directly; this can still be made to happen by setting
                the number of send threads to 0 (this also happens when
         <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbmtd-maxnoofexecutionthreads">
          <code class="literal">
           MaxNoOfExecutionThreads
          </code>
         </a>
         is set less than 10). While doing so can have an adverse
                impact on throughput, it can also in some cases provide
                decreased latency.
        </p>
        <p>
         Range:
        </p>
        <div class="itemizedlist">
         <ul class="itemizedlist" style="list-style-type: square; ">
          <li class="listitem">
           <p>
            0 - 64
           </p>
          </li>
         </ul>
        </div>
       </li>
       <li class="listitem">
        <p>
         <code class="literal">
          rep
         </code>
         : Replication thread
                (
         <a class="ulink" href="/doc/ndb-internals/en/ndb-internals-kernel-blocks-suma.html" target="_top">
          <code class="literal">
           SUMA
          </code>
         </a>
         kernel block).
                This thread can also be combined with the main thread
                (see range information).
        </p>
        <p>
         Range: 0-1.
        </p>
        <p>
         Setting
         <code class="literal">
          rep
         </code>
         to 0 and
         <code class="literal">
          main
         </code>
         to 1 causes the
         <code class="literal">
          rep
         </code>
         blocks to be placed into the
         <code class="literal">
          main
         </code>
         thread; the combined thread is
                shown in the
         <a class="link" href="mysql-cluster-ndbinfo-threads.html" title="25.6.17.63 The ndbinfo threads Table">
          <code class="literal">
           ndbinfo.threads
          </code>
         </a>
         table
                as
         <code class="literal">
          main_rep
         </code>
         . This is effectively the
                same as setting
         <code class="literal">
          main
         </code>
         equal to 1 and
         <code class="literal">
          rep
         </code>
         equal to 0.
        </p>
        <p>
         It is also possible to set both
         <code class="literal">
          main
         </code>
         and
         <code class="literal">
          rep
         </code>
         to 0, in which case both
                threads are placed in the first
         <code class="literal">
          recv
         </code>
         thread; the resulting combined thread is named
         <code class="literal">
          main_rep_recv
         </code>
         in the
         <a class="link" href="mysql-cluster-ndbinfo-threads.html" title="25.6.17.63 The ndbinfo threads Table">
          <code class="literal">
           threads
          </code>
         </a>
         table.
        </p>
        <p>
         If
         <code class="literal">
          rep
         </code>
         is omitted from the
         <code class="literal">
          ThreadConfig
         </code>
         value string, one
         <code class="literal">
          rep
         </code>
         thread is created.
        </p>
       </li>
       <li class="listitem">
        <p>
         <code class="literal">
          io
         </code>
         : File system and other
                miscellaneous operations. These are not demanding tasks,
                and are always handled as a group by a single, dedicated
                I/O thread.
        </p>
        <p>
         Range: 1 only.
        </p>
       </li>
       <li class="listitem">
        <p>
         <code class="literal">
          watchdog
         </code>
         : Parameters settings
                associated with this type are actually applied to
                several threads, each having a specific use. These
                threads include the
         <code class="literal">
          SocketServer
         </code>
         thread, which receives connection setups from other
                nodes; the
         <code class="literal">
          SocketClient
         </code>
         thread, which
                attempts to set up connections to other nodes; and the
                thread watchdog thread that checks that threads are
                progressing.
        </p>
        <p>
         Range: 1 only.
        </p>
       </li>
       <li class="listitem">
        <p>
         <code class="literal">
          idxbld
         </code>
         : Offline index build threads.
                Unlike the other thread types listed previously, which
                are permanent, these are temporary threads which are
                created and used only during node or system restarts, or
                when running
         <a class="link" href="mysql-cluster-programs-ndb-restore.html" title="25.5.23 ndb_restore — Restore an NDB Cluster Backup">
          <span class="command">
           <strong>
            ndb_restore
           </strong>
          </span>
         </a>
         <a class="link" href="mysql-cluster-programs-ndb-restore.html#option_ndb_restore_rebuild-indexes">
          <code class="option">
           --rebuild-indexes
          </code>
         </a>
         .
                They may be bound to CPU sets which overlap with CPU
                sets bound to permanent thread types.
        </p>
        <p>
         <code class="literal">
          thread_prio
         </code>
         ,
         <code class="literal">
          realtime
         </code>
         , and
         <code class="literal">
          spintime
         </code>
         values cannot be set for
                offline index build threads. In addition,
         <code class="literal">
          count
         </code>
         is ignored for this type of
                thread.
        </p>
        <p>
         If
         <code class="literal">
          idxbld
         </code>
         is not specified, the
                default behavior is as follows:
        </p>
        <div class="itemizedlist">
         <ul class="itemizedlist" style="list-style-type: square; ">
          <li class="listitem">
           <p>
            Offline index build threads are not bound if the I/O
                    thread is also not bound, and these threads use any
                    available cores.
           </p>
          </li>
          <li class="listitem">
           <p>
            If the I/O thread is bound, then the offline index
                    build threads are bound to the entire set of bound
                    threads, due to the fact that there should be no
                    other tasks for these threads to perform.
           </p>
          </li>
         </ul>
        </div>
        <p>
         Range: 0 - 1.
        </p>
       </li>
      </ul>
     </div>
     <p>
      Changing
      <code class="literal">
       ThreadCOnfig
      </code>
      normally requires a
            system initial restart, but this requirement can be relaxed
            under certain circumstances:
     </p>
     <div class="itemizedlist">
      <ul class="itemizedlist" style="list-style-type: circle; ">
       <li class="listitem">
        <p>
         If, following the change, the number of LDM threads
                remains the same as before, nothing more than a simple
                node restart (rolling restart, or
         <span class="emphasis">
          <em>
           N
          </em>
         </span>
         ) is required to implement the
                change.
        </p>
       </li>
       <li class="listitem">
        <p>
         Otherwise (that is, if the number of LDM threads
                changes), it is still possible to effect the change
                using a node initial restart (
         <span class="emphasis">
          <em>
           NI
          </em>
         </span>
         )
                provided the following two conditions are met:
        </p>
        <div class="orderedlist">
         <ol class="orderedlist" type="a">
          <li class="listitem">
           <p>
            Each LDM thread handles a maximum of 8 fragments,
                    and
           </p>
          </li>
          <li class="listitem">
           <p>
            The total number of table fragments is an integer
                    multiple of the number of LDM threads.
           </p>
          </li>
         </ol>
        </div>
       </li>
      </ul>
     </div>
     <p>
      In any other case, a system initial restart is needed to
            change this parameter.
     </p>
     <p>
      <code class="literal">
       NDB
      </code>
      can distinguish between thread types
            by both of the following criteria:
     </p>
     <div class="itemizedlist">
      <ul class="itemizedlist" style="list-style-type: circle; ">
       <li class="listitem">
        <p>
         Whether the thread is an execution thread. Threads of
                type
         <code class="literal">
          main
         </code>
         ,
         <code class="literal">
          ldm
         </code>
         ,
         <code class="literal">
          query
         </code>
         ,
         <code class="literal">
          recv
         </code>
         ,
         <code class="literal">
          rep
         </code>
         ,
         <code class="literal">
          tc
         </code>
         , and
         <code class="literal">
          send
         </code>
         are execution threads;
         <code class="literal">
          io
         </code>
         ,
         <code class="literal">
          recover
         </code>
         ,
         <code class="literal">
          watchdog
         </code>
         , and
         <code class="literal">
          idxbld
         </code>
         threads are not considered
                execution threads.
        </p>
       </li>
       <li class="listitem">
        <p>
         Whether the allocation of threads to a given task is
                permanent or temporary. Currently all thread types
                except
         <code class="literal">
          idxbld
         </code>
         are considered
                permanent;
         <code class="literal">
          idxbld
         </code>
         threads are
                regarded as temporary threads.
        </p>
       </li>
      </ul>
     </div>
     <p>
      Simple examples:
     </p>
     <div class="copytoclipboard-wrapper">
      <pre class="programlisting language-ini"><div class="docs-select-all right" id="sa52710965"><div class="copy-help left">Press ⌘+C to copy</div> <div class="right"><button class="clipboard-btn" title="Copy to Clipboard"><span class="icon-clipboard"></span></button></div></div><code class="language-ini"><span class="token comment" spellcheck="true"># Example 1.</span>

<span class="token constant">ThreadConfig</span><span class="token attr-value"><span class="token punctuation">=</span>ldm={count=2,cpubind=1,2},main={cpubind=12},rep={cpubind=11}</span>

<span class="token comment" spellcheck="true"># Example 2.</span>

<span class="token constant">Threadconfig</span><span class="token attr-value"><span class="token punctuation">=</span>main={cpubind=0},ldm={count=4,cpubind=1,2,5,6},io={cpubind=3}</span></code></pre>
     </div>
     <p>
      It is usually desirable when configuring thread usage for a
            data node host to reserve one or more number of CPUs for
            operating system and other tasks. Thus, for a host machine
            with 24 CPUs, you might want to use 20 CPU threads (leaving
            4 for other uses), with 8 LDM threads, 4 TC threads (half
            the number of LDM threads), 3 send threads, 3 receive
            threads, and 1 thread each for schema management,
            asynchronous replication, and I/O operations. (This is
            almost the same distribution of threads used when
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbmtd-maxnoofexecutionthreads">
       <code class="literal">
        MaxNoOfExecutionThreads
       </code>
      </a>
      is set equal to 20.) The following
      <code class="literal">
       ThreadConfig
      </code>
      setting performs these
            assignments, additionally binding all of these threads to
            specific CPUs:
     </p>
     <div class="copytoclipboard-wrapper">
      <pre class="programlisting language-ini"><div class="docs-select-all right" id="sa84238333"><div class="copy-help left">Press ⌘+C to copy</div> <div class="right"><button class="clipboard-btn" title="Copy to Clipboard"><span class="icon-clipboard"></span></button></div></div><code class="language-ini"><span class="token constant">ThreadConfig</span><span class="token attr-value"><span class="token punctuation">=</span>ldm{count=8,cpubind=1,2,3,4,5,6,7,8},main={cpubind=9},io={cpubind=9}, \</span>
<span class="token constant">rep</span><span class="token attr-value"><span class="token punctuation">=</span>{cpubind=10},tc{count=4,cpubind=11,12,13,14},recv={count=3,cpubind=15,16,17}, \</span>
<span class="token constant">send{count</span><span class="token attr-value"><span class="token punctuation">=</span>3,cpubind=18,19,20}</span></code></pre>
     </div>
     <p>
      It should be possible in most cases to bind the main (schema
            management) thread and the I/O thread to the same CPU, as we
            have done in the example just shown.
     </p>
     <p>
      The following example incorporates groups of CPUs defined
            using both
      <code class="literal">
       cpuset
      </code>
      and
      <code class="literal">
       cpubind
      </code>
      , as well as use of thread
            prioritization.
     </p>
     <div class="copytoclipboard-wrapper">
      <pre class="programlisting language-ini"><div class="docs-select-all right" id="sa3663640"><div class="copy-help left">Press ⌘+C to copy</div> <div class="right"><button class="clipboard-btn" title="Copy to Clipboard"><span class="icon-clipboard"></span></button></div></div><code class="language-ini"><span class="token constant">ThreadConfig</span><span class="token attr-value"><span class="token punctuation">=</span>ldm={count=4,cpuset=0-3,thread_prio=8,spintime=200}, \</span>
<span class="token constant">ldm</span><span class="token attr-value"><span class="token punctuation">=</span>{count=4,cpubind=4-7,thread_prio=8,spintime=200}, \</span>
<span class="token constant">tc</span><span class="token attr-value"><span class="token punctuation">=</span>{count=4,cpuset=8-9,thread_prio=6},send={count=2,thread_prio=10,cpubind=10-11}, \</span>
<span class="token constant">main</span><span class="token attr-value"><span class="token punctuation">=</span>{count=1,cpubind=10},rep={count=1,cpubind=11}</span></code></pre>
     </div>
     <p>
      In this case we create two LDM groups; the first uses
      <code class="literal">
       cpubind
      </code>
      and the second uses
      <code class="literal">
       cpuset
      </code>
      .
      <code class="literal">
       thread_prio
      </code>
      and
      <code class="literal">
       spintime
      </code>
      are set to the same values
            for each group. This means there are eight LDM threads in
            total. (You should ensure that
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbmtd-nooffragmentlogparts">
       <code class="literal">
        NoOfFragmentLogParts
       </code>
      </a>
      is also set to 8.) The four TC threads use only two CPUs; it
            is possible when using
      <code class="literal">
       cpuset
      </code>
      to specify
            fewer CPUs than threads in the group. (This is not true for
      <code class="literal">
       cpubind
      </code>
      .) The send threads use two
            threads using
      <code class="literal">
       cpubind
      </code>
      to bind these
            threads to CPUs 10 and 11. The main and rep threads can
            reuse these CPUs.
     </p>
     <p>
      This example shows how
      <code class="literal">
       ThreadConfig
      </code>
      and
      <code class="literal">
       NoOfFragmentLogParts
      </code>
      might be set up for
            a 24-CPU host with hyperthreading, leaving CPUs 10, 11, 22,
            and 23 available for operating system functions and
            interrupts:
     </p>
     <div class="copytoclipboard-wrapper">
      <pre class="programlisting language-ini"><div class="docs-select-all right" id="sa38083312"><div class="copy-help left">Press ⌘+C to copy</div> <div class="right"><button class="clipboard-btn" title="Copy to Clipboard"><span class="icon-clipboard"></span></button></div></div><code class="language-ini"><span class="token constant">NoOfFragmentLogParts</span><span class="token attr-value"><span class="token punctuation">=</span>10</span>
<span class="token constant">ThreadConfig</span><span class="token attr-value"><span class="token punctuation">=</span>ldm={count=10,cpubind=0-4,12-16,thread_prio=9,spintime=200}, \</span>
<span class="token constant">tc</span><span class="token attr-value"><span class="token punctuation">=</span>{count=4,cpuset=6-7,18-19,thread_prio=8},send={count=1,cpuset=8}, \</span>
<span class="token constant">recv</span><span class="token attr-value"><span class="token punctuation">=</span>{count=1,cpuset=20},main={count=1,cpuset=9,21},rep={count=1,cpuset=9,21}, \</span>
<span class="token constant">io</span><span class="token attr-value"><span class="token punctuation">=</span>{count=1,cpuset=9,21,thread_prio=8},watchdog={count=1,cpuset=9,21,thread_prio=9}</span></code></pre>
     </div>
     <p>
      The next few examples include settings for
      <code class="literal">
       idxbld
      </code>
      . The first two of these
            demonstrate how a CPU set defined for
      <code class="literal">
       idxbld
      </code>
      can overlap those specified for
            other (permanent) thread types, the first using
      <code class="literal">
       cpuset
      </code>
      and the second using
      <code class="literal">
       cpubind
      </code>
      :
     </p>
     <div class="copytoclipboard-wrapper">
      <pre class="programlisting language-ini"><div class="docs-select-all right" id="sa61982572"><div class="copy-help left">Press ⌘+C to copy</div> <div class="right"><button class="clipboard-btn" title="Copy to Clipboard"><span class="icon-clipboard"></span></button></div></div><code class="language-ini"><span class="token constant">ThreadConfig</span><span class="token attr-value"><span class="token punctuation">=</span>main,ldm={count=4,cpuset=1-4},tc={count=4,cpuset=5,6,7}, \</span>
<span class="token constant">io</span><span class="token attr-value"><span class="token punctuation">=</span>{cpubind=8},idxbld={cpuset=1-8}</span>

<span class="token constant">ThreadConfig</span><span class="token attr-value"><span class="token punctuation">=</span>main,ldm={count=1,cpubind=1},idxbld={count=1,cpubind=1}</span></code></pre>
     </div>
     <p>
      The next example specifies a CPU for the I/O thread, but not
            for the index build threads:
     </p>
     <div class="copytoclipboard-wrapper">
      <pre class="programlisting language-ini"><div class="docs-select-all right" id="sa64139597"><div class="copy-help left">Press ⌘+C to copy</div> <div class="right"><button class="clipboard-btn" title="Copy to Clipboard"><span class="icon-clipboard"></span></button></div></div><code class="language-ini"><span class="token constant">ThreadConfig</span><span class="token attr-value"><span class="token punctuation">=</span>main,ldm={count=4,cpuset=1-4},tc={count=4,cpuset=5,6,7}, \</span>
<span class="token constant">io</span><span class="token attr-value"><span class="token punctuation">=</span>{cpubind=8}</span></code></pre>
     </div>
     <p>
      Since the
      <code class="literal">
       ThreadConfig
      </code>
      setting just shown
            locks threads to eight cores numbered 1 through 8, it is
            equivalent to the setting shown here:
     </p>
     <div class="copytoclipboard-wrapper">
      <pre class="programlisting language-ini"><div class="docs-select-all right" id="sa19694019"><div class="copy-help left">Press ⌘+C to copy</div> <div class="right"><button class="clipboard-btn" title="Copy to Clipboard"><span class="icon-clipboard"></span></button></div></div><code class="language-ini"><span class="token constant">ThreadConfig</span><span class="token attr-value"><span class="token punctuation">=</span>main,ldm={count=4,cpuset=1-4},tc={count=4,cpuset=5,6,7}, \</span>
<span class="token constant">io</span><span class="token attr-value"><span class="token punctuation">=</span>{cpubind=8},idxbld={cpuset=1,2,3,4,5,6,7,8}</span></code></pre>
     </div>
     <p>
      In order to take advantage of the enhanced stability that
            the use of
      <code class="literal">
       ThreadConfig
      </code>
      offers, it is
            necessary to insure that CPUs are isolated, and that they
            not subject to interrupts, or to being scheduled for other
            tasks by the operating system. On many Linux systems, you
            can do this by setting
      <code class="literal">
       IRQBALANCE_BANNED_CPUS
      </code>
      in
      <code class="filename">
       /etc/sysconfig/irqbalance
      </code>
      to
      <code class="literal">
       0xFFFFF0
      </code>
      , and by using the
      <code class="literal">
       isolcpus
      </code>
      boot option in
      <code class="filename">
       grub.conf
      </code>
      . For specific information,
            see your operating system or platform documentation.
     </p>
    </li>
   </ul>
  </div>
  <p>
   <a name="mysql-cluster-ndbd-definition-disk-data-parameters">
   </a>
   <b>
    Disk Data Configuration Parameters.
   </b>
   Configuration parameters affecting Disk Data behavior include
          the following:
  </p>
  <div class="itemizedlist">
   <ul class="itemizedlist" style="list-style-type: disc; ">
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-diskpagebufferentries">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-diskpagebufferentries">
       <code class="literal">
        DiskPageBufferEntries
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045115314800">
     </a>
     <div class="informaltable">
      <a name="diskpagebufferentries-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="DiskPageBufferEntries data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          bytes
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          64MB
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          4MB - 16TB
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      This is the number of page entries (page references) to
            allocate. It is specified as a number of 32K pages in
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-diskpagebuffermemory">
       <code class="literal">
        DiskPageBufferMemory
       </code>
      </a>
      .
            The default is sufficient for most cases but you may need to
            increase the value of this parameter if you encounter
            problems with very large transactions on Disk Data tables.
            Each page entry requires approximately 100 bytes.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-diskpagebuffermemory">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-diskpagebuffermemory">
       <code class="literal">
        DiskPageBufferMemory
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045115292736">
     </a>
     <div class="informaltable">
      <a name="diskpagebuffermemory-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="DiskPageBufferMemory data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          bytes
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          64M
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          4M - 16T
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      This determines the amount of space, in bytes, used for
            caching pages on disk, and is set in the
      <code class="literal">
       [ndbd]
      </code>
      or
      <code class="literal">
       [ndbd
            default]
      </code>
      section of the
      <code class="filename">
       config.ini
      </code>
      file.
     </p>
     <p>
      If the value for
      <code class="literal">
       DiskPageBufferMemory
      </code>
      is
            set too low in conjunction with using more than the default
            number of LDM threads in
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbmtd-threadconfig">
       <code class="literal">
        ThreadConfig
       </code>
      </a>
      (for
            example
      <code class="literal">
       {ldm=6...}
      </code>
      ), problems can arise
            when trying to add a large (for example 500G) data file to a
            disk-based
      <code class="literal">
       NDB
      </code>
      table, wherein the process
            takes indefinitely long while occupying one of the CPU
            cores.
     </p>
     <p>
      This is due to the fact that, as part of adding a data file
            to a tablespace, extent pages are locked into memory in an
            extra PGMAN worker thread, for quick metadata access. When
            adding a large file, this worker has insufficient memory for
            all of the data file metadata. In such cases, you should
            either increase
      <code class="literal">
       DiskPageBufferMemory
      </code>
      , or
            add smaller tablespace files. You may also need to adjust
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-diskpagebufferentries">
       <code class="literal">
        DiskPageBufferEntries
       </code>
      </a>
      .
     </p>
     <p>
      You can query the
      <a class="link" href="mysql-cluster-ndbinfo-diskpagebuffer.html" title="25.6.17.31 The ndbinfo diskpagebuffer Table">
       <code class="literal">
        ndbinfo.diskpagebuffer
       </code>
      </a>
      table to help determine whether the value for this parameter
            should be increased to minimize unnecessary disk seeks. See
      <a class="xref" href="mysql-cluster-ndbinfo-diskpagebuffer.html" title="25.6.17.31 The ndbinfo diskpagebuffer Table">
       Section 25.6.17.31, “The ndbinfo diskpagebuffer Table”
      </a>
      , for
            more information.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-sharedglobalmemory">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-sharedglobalmemory">
       <code class="literal">
        SharedGlobalMemory
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045115260304">
     </a>
     <div class="informaltable">
      <a name="sharedglobalmemory-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="SharedGlobalMemory data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          bytes
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          128M
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          0 - 64T
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      This parameter determines the amount of memory that is used
            for log buffers, disk operations (such as page requests and
            wait queues), and metadata for tablespaces, log file groups,
      <code class="literal">
       UNDO
      </code>
      files, and data files. The shared
            global memory pool also provides memory used for satisfying
            the memory requirements of the
      <code class="literal">
       UNDO_BUFFER_SIZE
      </code>
      option used with
      <a class="link" href="create-logfile-group.html" title="15.1.16 CREATE LOGFILE GROUP Statement">
       <code class="literal">
        CREATE LOGFILE GROUP
       </code>
      </a>
      and
      <a class="link" href="alter-logfile-group.html" title="15.1.6 ALTER LOGFILE GROUP Statement">
       <code class="literal">
        ALTER LOGFILE GROUP
       </code>
      </a>
      statements, including any default value implied for this
            options by the setting of the
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-initiallogfilegroup">
       <code class="literal">
        InitialLogFileGroup
       </code>
      </a>
      data node configuration parameter.
      <code class="literal">
       SharedGlobalMemory
      </code>
      can be set in the
      <code class="literal">
       [ndbd]
      </code>
      or
      <code class="literal">
       [ndbd
            default]
      </code>
      section of the
      <code class="filename">
       config.ini
      </code>
      configuration file, and is
            measured in bytes.
     </p>
     <p>
      The default value is
      <code class="literal">
       128M
      </code>
      .
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-diskiothreadpool">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-diskiothreadpool">
       <code class="literal">
        DiskIOThreadPool
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045115230016">
     </a>
     <a class="indexterm" name="idm46045115228944">
     </a>
     <div class="informaltable">
      <a name="diskiothreadpool-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="DiskIOThreadPool data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          threads
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          2
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          0 - 4294967039 (0xFFFFFEFF)
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      This parameter determines the number of unbound threads used
            for Disk Data file access. Before
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-diskiothreadpool">
       <code class="literal">
        DiskIOThreadPool
       </code>
      </a>
      was
            introduced, exactly one thread was spawned for each Disk
            Data file, which could lead to performance issues,
            particularly when using very large data files. With
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-diskiothreadpool">
       <code class="literal">
        DiskIOThreadPool
       </code>
      </a>
      ,
            you can—for example—access a single large data
            file using several threads working in parallel.
     </p>
     <p>
      This parameter applies to Disk Data I/O threads only.
     </p>
     <p>
      The optimum value for this parameter depends on your
            hardware and configuration, and includes these factors:
     </p>
     <div class="itemizedlist">
      <ul class="itemizedlist" style="list-style-type: circle; ">
       <li class="listitem">
        <p>
         <b>
          Physical distribution of Disk Data files.
         </b>
         You can obtain better performance by placing data
                  files, undo log files, and the data node file system
                  on separate physical disks. If you do this with some
                  or all of these sets of files, then you can (and
                  should) set
         <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-diskiothreadpool">
          <code class="literal">
           DiskIOThreadPool
          </code>
         </a>
         higher to enable separate threads to handle the files
                  on each disk.
        </p>
        <p>
         You should also disable
         <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-diskdatausingsamedisk">
          <code class="literal">
           DiskDataUsingSameDisk
          </code>
         </a>
         when using a separate disk or disks for Disk Data files;
                this increases the rate at which checkpoints of Disk
                Data tablespaces can be performed.
        </p>
       </li>
       <li class="listitem">
        <p>
         <b>
          Disk performance and types.
         </b>
         The number of threads that can be accommodated for
                  Disk Data file handling is also dependent on the speed
                  and throughput of the disks. Faster disks and higher
                  throughput allow for more disk I/O threads. Our test
                  results indicate that solid-state disk drives can
                  handle many more disk I/O threads than conventional
                  disks, and thus higher values for
         <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-diskiothreadpool">
          <code class="literal">
           DiskIOThreadPool
          </code>
         </a>
         .
        </p>
        <p>
         Decreasing
         <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-timebetweenglobalcheckpoints">
          <code class="literal">
           TimeBetweenGlobalCheckpoints
          </code>
         </a>
         is also recommended when using solid-state disk drives,
                in particular those using NVMe. See also
         <a class="xref" href="mysql-cluster-ndbd-definition.html#mysql-cluster-ndbd-definition-disk-data-latency-parameters" title="Disk Data latency parameters">
          Disk Data latency parameters
         </a>
         .
        </p>
       </li>
      </ul>
     </div>
     <p>
      The default value for this parameter is 2.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="mysql-cluster-ndbd-disk-data-filesystem-parameters">
      </a>
      <b>
       Disk Data file system parameters.
      </b>
      The parameters in the following list make it possible to
              place NDB Cluster Disk Data files in specific directories
              without the need for using symbolic links.
     </p>
     <div class="itemizedlist">
      <ul class="itemizedlist" style="list-style-type: circle; ">
       <li class="listitem">
        <p>
         <a name="ndbparam-ndbd-filesystempathdd">
         </a>
         <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-filesystempathdd">
          <code class="literal">
           FileSystemPathDD
          </code>
         </a>
        </p>
        <a class="indexterm" name="idm46045115189408">
        </a>
        <div class="informaltable">
         <a name="filesystempathdd-ndbd-table">
         </a>
         <table frame="box" rules="all" summary="FileSystemPathDD data node configuration parameter type and value information" width="35%">
          <colgroup>
           <col style="width: 50%"/>
           <col style="width: 50%"/>
          </colgroup>
          <tbody>
           <tr>
            <th>
             Version (or later)
            </th>
            <td>
             NDB 8.4.0
            </td>
           </tr>
           <tr>
            <th>
             Type or units
            </th>
            <td>
             filename
            </td>
           </tr>
           <tr>
            <th>
             Default
            </th>
            <td>
             FileSystemPath
            </td>
           </tr>
           <tr>
            <th>
             Range
            </th>
            <td>
             ...
            </td>
           </tr>
           <tr>
            <th>
             Restart Type
            </th>
            <td>
             <p>
              <span class="bold">
               <strong>
                Initial Node Restart:
               </strong>
              </span>
              Requires a
              <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
               rolling
                        restart
              </a>
              of the cluster; each data node
                        must be restarted with
              <a class="link" href="mysql-cluster-programs-ndbd.html#option_ndbd_initial">
               <code class="option">
                --initial
               </code>
              </a>
              . (NDB
                        8.4.0)
             </p>
            </td>
           </tr>
          </tbody>
         </table>
        </div>
        <p>
         If this parameter is specified, then NDB Cluster Disk
                Data data files and undo log files are placed in the
                indicated directory. This can be overridden for data
                files, undo log files, or both, by specifying values for
         <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-filesystempathdatafiles">
          <code class="literal">
           FileSystemPathDataFiles
          </code>
         </a>
         ,
         <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-filesystempathundofiles">
          <code class="literal">
           FileSystemPathUndoFiles
          </code>
         </a>
         ,
                or both, as explained for these parameters. It can also
                be overridden for data files by specifying a path in the
         <code class="literal">
          ADD DATAFILE
         </code>
         clause of a
         <a class="link" href="create-tablespace.html" title="15.1.21 CREATE TABLESPACE Statement">
          <code class="literal">
           CREATE TABLESPACE
          </code>
         </a>
         or
         <a class="link" href="alter-tablespace.html" title="15.1.10 ALTER TABLESPACE Statement">
          <code class="literal">
           ALTER TABLESPACE
          </code>
         </a>
         statement, and for undo log files by specifying a path
                in the
         <code class="literal">
          ADD UNDOFILE
         </code>
         clause of a
         <a class="link" href="create-logfile-group.html" title="15.1.16 CREATE LOGFILE GROUP Statement">
          <code class="literal">
           CREATE LOGFILE GROUP
          </code>
         </a>
         or
         <a class="link" href="alter-logfile-group.html" title="15.1.6 ALTER LOGFILE GROUP Statement">
          <code class="literal">
           ALTER LOGFILE GROUP
          </code>
         </a>
         statement. If
         <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-filesystempathdd">
          <code class="literal">
           FileSystemPathDD
          </code>
         </a>
         is not specified, then
         <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-filesystempath">
          <code class="literal">
           FileSystemPath
          </code>
         </a>
         is used.
        </p>
        <p>
         If a
         <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-filesystempathdd">
          <code class="literal">
           FileSystemPathDD
          </code>
         </a>
         directory is specified for a given data node (including
                the case where the parameter is specified in the
         <code class="literal">
          [ndbd default]
         </code>
         section of the
         <code class="filename">
          config.ini
         </code>
         file), then starting
                that data node with
         <code class="option">
          --initial
         </code>
         causes
                all files in the directory to be deleted.
        </p>
       </li>
       <li class="listitem">
        <p>
         <a name="ndbparam-ndbd-filesystempathdatafiles">
         </a>
         <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-filesystempathdatafiles">
          <code class="literal">
           FileSystemPathDataFiles
          </code>
         </a>
        </p>
        <a class="indexterm" name="idm46045115152032">
        </a>
        <div class="informaltable">
         <a name="filesystempathdatafiles-ndbd-table">
         </a>
         <table frame="box" rules="all" summary="FileSystemPathDataFiles data node configuration parameter type and value information" width="35%">
          <colgroup>
           <col style="width: 50%"/>
           <col style="width: 50%"/>
          </colgroup>
          <tbody>
           <tr>
            <th>
             Version (or later)
            </th>
            <td>
             NDB 8.4.0
            </td>
           </tr>
           <tr>
            <th>
             Type or units
            </th>
            <td>
             filename
            </td>
           </tr>
           <tr>
            <th>
             Default
            </th>
            <td>
             FileSystemPathDD
            </td>
           </tr>
           <tr>
            <th>
             Range
            </th>
            <td>
             ...
            </td>
           </tr>
           <tr>
            <th>
             Restart Type
            </th>
            <td>
             <p>
              <span class="bold">
               <strong>
                Initial Node Restart:
               </strong>
              </span>
              Requires a
              <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
               rolling
                        restart
              </a>
              of the cluster; each data node
                        must be restarted with
              <a class="link" href="mysql-cluster-programs-ndbd.html#option_ndbd_initial">
               <code class="option">
                --initial
               </code>
              </a>
              . (NDB
                        8.4.0)
             </p>
            </td>
           </tr>
          </tbody>
         </table>
        </div>
        <p>
         If this parameter is specified, then NDB Cluster Disk
                Data data files are placed in the indicated directory.
                This overrides any value set for
         <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-filesystempathdd">
          <code class="literal">
           FileSystemPathDD
          </code>
         </a>
         .
                This parameter can be overridden for a given data file
                by specifying a path in the
         <code class="literal">
          ADD
                DATAFILE
         </code>
         clause of a
         <a class="link" href="create-tablespace.html" title="15.1.21 CREATE TABLESPACE Statement">
          <code class="literal">
           CREATE TABLESPACE
          </code>
         </a>
         or
         <a class="link" href="alter-tablespace.html" title="15.1.10 ALTER TABLESPACE Statement">
          <code class="literal">
           ALTER TABLESPACE
          </code>
         </a>
         statement used to create that data file. If
         <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-filesystempathdatafiles">
          <code class="literal">
           FileSystemPathDataFiles
          </code>
         </a>
         is not specified, then
         <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-filesystempathdd">
          <code class="literal">
           FileSystemPathDD
          </code>
         </a>
         is used (or
         <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-filesystempath">
          <code class="literal">
           FileSystemPath
          </code>
         </a>
         ,
                if
         <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-filesystempathdd">
          <code class="literal">
           FileSystemPathDD
          </code>
         </a>
         has also not been set).
        </p>
        <p>
         If a
         <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-filesystempathdatafiles">
          <code class="literal">
           FileSystemPathDataFiles
          </code>
         </a>
         directory is specified for a given data node (including
                the case where the parameter is specified in the
         <code class="literal">
          [ndbd default]
         </code>
         section of the
         <code class="filename">
          config.ini
         </code>
         file), then starting
                that data node with
         <code class="option">
          --initial
         </code>
         causes
                all files in the directory to be deleted.
        </p>
       </li>
       <li class="listitem">
        <p>
         <a name="ndbparam-ndbd-filesystempathundofiles">
         </a>
         <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-filesystempathundofiles">
          <code class="literal">
           FileSystemPathUndoFiles
          </code>
         </a>
        </p>
        <a class="indexterm" name="idm46045115116720">
        </a>
        <div class="informaltable">
         <a name="filesystempathundofiles-ndbd-table">
         </a>
         <table frame="box" rules="all" summary="FileSystemPathUndoFiles data node configuration parameter type and value information" width="35%">
          <colgroup>
           <col style="width: 50%"/>
           <col style="width: 50%"/>
          </colgroup>
          <tbody>
           <tr>
            <th>
             Version (or later)
            </th>
            <td>
             NDB 8.4.0
            </td>
           </tr>
           <tr>
            <th>
             Type or units
            </th>
            <td>
             filename
            </td>
           </tr>
           <tr>
            <th>
             Default
            </th>
            <td>
             FileSystemPathDD
            </td>
           </tr>
           <tr>
            <th>
             Range
            </th>
            <td>
             ...
            </td>
           </tr>
           <tr>
            <th>
             Restart Type
            </th>
            <td>
             <p>
              <span class="bold">
               <strong>
                Initial Node Restart:
               </strong>
              </span>
              Requires a
              <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
               rolling
                        restart
              </a>
              of the cluster; each data node
                        must be restarted with
              <a class="link" href="mysql-cluster-programs-ndbd.html#option_ndbd_initial">
               <code class="option">
                --initial
               </code>
              </a>
              . (NDB
                        8.4.0)
             </p>
            </td>
           </tr>
          </tbody>
         </table>
        </div>
        <p>
         If this parameter is specified, then NDB Cluster Disk
                Data undo log files are placed in the indicated
                directory. This overrides any value set for
         <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-filesystempathdd">
          <code class="literal">
           FileSystemPathDD
          </code>
         </a>
         .
                This parameter can be overridden for a given data file
                by specifying a path in the
         <code class="literal">
          ADD UNDO
         </code>
         clause of a
         <a class="link" href="create-logfile-group.html" title="15.1.16 CREATE LOGFILE GROUP Statement">
          <code class="literal">
           CREATE LOGFILE
                GROUP
          </code>
         </a>
         or
         <a class="link" href="alter-logfile-group.html" title="15.1.6 ALTER LOGFILE GROUP Statement">
          <code class="literal">
           ALTER LOGFILE
                GROUP
          </code>
         </a>
         statement used to create that data file.
                If
         <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-filesystempathundofiles">
          <code class="literal">
           FileSystemPathUndoFiles
          </code>
         </a>
         is not specified, then
         <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-filesystempathdd">
          <code class="literal">
           FileSystemPathDD
          </code>
         </a>
         is used (or
         <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-filesystempath">
          <code class="literal">
           FileSystemPath
          </code>
         </a>
         ,
                if
         <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-filesystempathdd">
          <code class="literal">
           FileSystemPathDD
          </code>
         </a>
         has also not been set).
        </p>
        <p>
         If a
         <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-filesystempathundofiles">
          <code class="literal">
           FileSystemPathUndoFiles
          </code>
         </a>
         directory is specified for a given data node (including
                the case where the parameter is specified in the
         <code class="literal">
          [ndbd default]
         </code>
         section of the
         <code class="filename">
          config.ini
         </code>
         file), then starting
                that data node with
         <code class="option">
          --initial
         </code>
         causes
                all files in the directory to be deleted.
        </p>
       </li>
      </ul>
     </div>
     <p>
      For more information, see
      <a class="xref" href="mysql-cluster-disk-data-objects.html" title="25.6.11.1 NDB Cluster Disk Data Objects">
       Section 25.6.11.1, “NDB Cluster Disk Data Objects”
      </a>
      .
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="mysql-cluster-ndbd-disk-data-object-creation-parameters">
      </a>
      <b>
       Disk Data object creation parameters.
      </b>
      The next two parameters enable you—when starting the
              cluster for the first time—to cause a Disk Data log
              file group, tablespace, or both, to be created without the
              use of SQL statements.
     </p>
     <div class="itemizedlist">
      <ul class="itemizedlist" style="list-style-type: circle; ">
       <li class="listitem">
        <p>
         <a name="ndbparam-ndbd-initiallogfilegroup">
         </a>
         <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-initiallogfilegroup">
          <code class="literal">
           InitialLogFileGroup
          </code>
         </a>
        </p>
        <a class="indexterm" name="idm46045115077360">
        </a>
        <div class="informaltable">
         <a name="initiallogfilegroup-ndbd-table">
         </a>
         <table frame="box" rules="all" summary="InitialLogFileGroup data node configuration parameter type and value information" width="35%">
          <colgroup>
           <col style="width: 50%"/>
           <col style="width: 50%"/>
          </colgroup>
          <tbody>
           <tr>
            <th>
             Version (or later)
            </th>
            <td>
             NDB 8.4.0
            </td>
           </tr>
           <tr>
            <th>
             Type or units
            </th>
            <td>
             string
            </td>
           </tr>
           <tr>
            <th>
             Default
            </th>
            <td>
             [see documentation]
            </td>
           </tr>
           <tr>
            <th>
             Range
            </th>
            <td>
             ...
            </td>
           </tr>
           <tr>
            <th>
             Restart Type
            </th>
            <td>
             <p>
              <span class="bold">
               <strong>
                System Restart:
               </strong>
              </span>
              Requires a complete shutdown and
                        restart of the cluster. (NDB 8.4.0)
             </p>
            </td>
           </tr>
          </tbody>
         </table>
        </div>
        <p>
         This parameter can be used to specify a log file group
                that is created when performing an initial start of the
                cluster.
         <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-initiallogfilegroup">
          <code class="literal">
           InitialLogFileGroup
          </code>
         </a>
         is specified as shown here:
        </p>
        <div class="copytoclipboard-wrapper">
         <pre class="programlisting language-simple"><div class="docs-select-all right" id="sa65378740"><div class="copy-help left">Press ⌘+C to copy</div> <div class="right"><button class="clipboard-btn" title="Copy to Clipboard"><span class="icon-clipboard"></span></button></div></div><code class="language-simple">InitialLogFileGroup <span class="token operator">=</span> <span class="token punctuation">[</span>name<span class="token operator">=</span><em class="replaceable">name</em><span class="token punctuation">;</span><span class="token punctuation">]</span> <span class="token punctuation">[</span>undo_buffer_size<span class="token operator">=</span><em class="replaceable">size</em><span class="token punctuation">;</span><span class="token punctuation">]</span> <em class="replaceable">file<span class="token operator">-</span>specification<span class="token operator">-</span>list</em>

<em class="replaceable">file<span class="token operator">-</span>specification<span class="token operator">-</span>list</em><span class="token operator">:</span>
    <em class="replaceable">file<span class="token operator">-</span>specification</em><span class="token punctuation">[</span><span class="token punctuation">;</span> <em class="replaceable">file<span class="token operator">-</span>specification</em><span class="token punctuation">[</span><span class="token punctuation">;</span> <span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">]</span><span class="token punctuation">]</span>

<em class="replaceable">file<span class="token operator">-</span>specification</em><span class="token operator">:</span>
    <em class="replaceable">filename</em><span class="token operator">:</span><em class="replaceable">size</em></code></pre>
        </div>
        <p>
         The
         <code class="literal">
          name
         </code>
         of the log file group is
                optional and defaults to
         <code class="literal">
          DEFAULT-LG
         </code>
         .
                The
         <code class="literal">
          undo_buffer_size
         </code>
         is also
                optional; if omitted, it defaults to
         <code class="literal">
          64M
         </code>
         . Each
         <em class="replaceable">
          <code>
           file-specification
          </code>
         </em>
         corresponds to an undo log file, and at least one must
                be specified in the
         <em class="replaceable">
          <code>
           file-specification-list
          </code>
         </em>
         . Undo
                log files are placed according to any values that have
                been set for
         <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-filesystempath">
          <code class="literal">
           FileSystemPath
          </code>
         </a>
         ,
         <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-filesystempathdd">
          <code class="literal">
           FileSystemPathDD
          </code>
         </a>
         ,
                and
         <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-filesystempathundofiles">
          <code class="literal">
           FileSystemPathUndoFiles
          </code>
         </a>
         ,
                just as if they had been created as the result of a
         <a class="link" href="create-logfile-group.html" title="15.1.16 CREATE LOGFILE GROUP Statement">
          <code class="literal">
           CREATE LOGFILE GROUP
          </code>
         </a>
         or
         <a class="link" href="alter-logfile-group.html" title="15.1.6 ALTER LOGFILE GROUP Statement">
          <code class="literal">
           ALTER LOGFILE GROUP
          </code>
         </a>
         statement.
        </p>
        <p>
         Consider the following:
        </p>
        <div class="copytoclipboard-wrapper">
         <pre class="programlisting one-line language-ini"><div class="docs-select-all right" id="sa83681432"><div class="copy-help left">Press ⌘+C to copy</div> <div class="right"><button class="clipboard-btn" title="Copy to Clipboard"><span class="icon-clipboard"></span></button></div></div><code class="language-ini"><span class="token constant">InitialLogFileGroup</span> <span class="token attr-value"><span class="token punctuation">=</span> name=LG1; undo_buffer_size=128M; undo1.log:250M; undo2.log:150M</span></code></pre>
        </div>
        <p>
         This is equivalent to the following SQL statements:
        </p>
        <div class="copytoclipboard-wrapper">
         <pre class="programlisting language-sql"><div class="docs-select-all right" id="sa25892640"><div class="copy-help left">Press ⌘+C to copy</div> <div class="right"><button class="clipboard-btn" title="Copy to Clipboard"><span class="icon-clipboard"></span></button></div></div><code class="language-sql"><span class="token keyword">CREATE</span> <span class="token keyword">LOGFILE</span> <span class="token keyword">GROUP</span> LG1
    <span class="token keyword">ADD</span> <span class="token keyword">UNDOFILE</span> <span class="token string">'undo1.log'</span>
    <span class="token keyword">INITIAL_SIZE</span> 250M
    <span class="token keyword">UNDO_BUFFER_SIZE</span> 128M
    <span class="token keyword">ENGINE</span> <span class="token keyword">NDBCLUSTER</span><span class="token punctuation">;</span>

<span class="token keyword">ALTER</span> <span class="token keyword">LOGFILE</span> <span class="token keyword">GROUP</span> LG1
    <span class="token keyword">ADD</span> <span class="token keyword">UNDOFILE</span> <span class="token string">'undo2.log'</span>
    <span class="token keyword">INITIAL_SIZE</span> 150M
    <span class="token keyword">ENGINE</span> <span class="token keyword">NDBCLUSTER</span><span class="token punctuation">;</span></code></pre>
        </div>
        <p>
         This logfile group is created when the data nodes are
                started with
         <code class="option">
          --initial
         </code>
         .
        </p>
        <p>
         Resources for the initial log file group are added to
                the global memory pool along with those indicated by the
                value of
         <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-sharedglobalmemory">
          <code class="literal">
           SharedGlobalMemory
          </code>
         </a>
         .
        </p>
        <p>
         This parameter, if used, should always be set in the
         <code class="literal">
          [ndbd default]
         </code>
         section of the
         <code class="filename">
          config.ini
         </code>
         file. The behavior of an
                NDB Cluster when different values are set on different
                data nodes is not defined.
        </p>
       </li>
       <li class="listitem">
        <p>
         <a name="ndbparam-ndbd-initialtablespace">
         </a>
         <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-initialtablespace">
          <code class="literal">
           InitialTablespace
          </code>
         </a>
        </p>
        <a class="indexterm" name="idm46045115032576">
        </a>
        <div class="informaltable">
         <a name="initialtablespace-ndbd-table">
         </a>
         <table frame="box" rules="all" summary="InitialTablespace data node configuration parameter type and value information" width="35%">
          <colgroup>
           <col style="width: 50%"/>
           <col style="width: 50%"/>
          </colgroup>
          <tbody>
           <tr>
            <th>
             Version (or later)
            </th>
            <td>
             NDB 8.4.0
            </td>
           </tr>
           <tr>
            <th>
             Type or units
            </th>
            <td>
             string
            </td>
           </tr>
           <tr>
            <th>
             Default
            </th>
            <td>
             [see documentation]
            </td>
           </tr>
           <tr>
            <th>
             Range
            </th>
            <td>
             ...
            </td>
           </tr>
           <tr>
            <th>
             Restart Type
            </th>
            <td>
             <p>
              <span class="bold">
               <strong>
                System Restart:
               </strong>
              </span>
              Requires a complete shutdown and
                        restart of the cluster. (NDB 8.4.0)
             </p>
            </td>
           </tr>
          </tbody>
         </table>
        </div>
        <p>
         This parameter can be used to specify an NDB Cluster
                Disk Data tablespace that is created when performing an
                initial start of the cluster.
         <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-initialtablespace">
          <code class="literal">
           InitialTablespace
          </code>
         </a>
         is specified as shown here:
        </p>
        <div class="copytoclipboard-wrapper">
         <pre class="programlisting one-line language-ini"><div class="docs-select-all right" id="sa17517106"><div class="copy-help left">Press ⌘+C to copy</div> <div class="right"><button class="clipboard-btn" title="Copy to Clipboard"><span class="icon-clipboard"></span></button></div></div><code class="language-ini"><span class="token constant">InitialTablespace</span> <span class="token attr-value"><span class="token punctuation">=</span> [name=<em class="replaceable">name</em>;] [extent_size=<em class="replaceable">size</em>;] <em class="replaceable">file-specification-list</em></span></code></pre>
        </div>
        <p>
         The
         <code class="literal">
          name
         </code>
         of the tablespace is
                optional and defaults to
         <code class="literal">
          DEFAULT-TS
         </code>
         .
                The
         <code class="literal">
          extent_size
         </code>
         is also optional; it
                defaults to
         <code class="literal">
          1M
         </code>
         . The
         <em class="replaceable">
          <code>
           file-specification-list
          </code>
         </em>
         uses
                the same syntax as shown with the
         <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-initiallogfilegroup">
          <code class="literal">
           InitialLogfileGroup
          </code>
         </a>
         parameter, the only difference being that each
         <em class="replaceable">
          <code>
           file-specification
          </code>
         </em>
         used with
         <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-initialtablespace">
          <code class="literal">
           InitialTablespace
          </code>
         </a>
         corresponds to a data file. At least one must be
                specified in the
         <em class="replaceable">
          <code>
           file-specification-list
          </code>
         </em>
         . Data
                files are placed according to any values that have been
                set for
         <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-filesystempath">
          <code class="literal">
           FileSystemPath
          </code>
         </a>
         ,
         <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-filesystempathdd">
          <code class="literal">
           FileSystemPathDD
          </code>
         </a>
         ,
                and
         <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-filesystempathdatafiles">
          <code class="literal">
           FileSystemPathDataFiles
          </code>
         </a>
         ,
                just as if they had been created as the result of a
         <a class="link" href="create-tablespace.html" title="15.1.21 CREATE TABLESPACE Statement">
          <code class="literal">
           CREATE TABLESPACE
          </code>
         </a>
         or
         <a class="link" href="alter-tablespace.html" title="15.1.10 ALTER TABLESPACE Statement">
          <code class="literal">
           ALTER TABLESPACE
          </code>
         </a>
         statement.
        </p>
        <p>
         For example, consider the following line specifying
         <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-initialtablespace">
          <code class="literal">
           InitialTablespace
          </code>
         </a>
         in the
         <code class="literal">
          [ndbd default]
         </code>
         section of the
         <code class="filename">
          config.ini
         </code>
         file (as with
         <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-initiallogfilegroup">
          <code class="literal">
           InitialLogfileGroup
          </code>
         </a>
         ,
                this parameter should always be set in the
         <code class="literal">
          [ndbd default]
         </code>
         section, as the
                behavior of an NDB Cluster when different values are set
                on different data nodes is not defined):
        </p>
        <div class="copytoclipboard-wrapper">
         <pre class="programlisting one-line language-ini"><div class="docs-select-all right" id="sa45045008"><div class="copy-help left">Press ⌘+C to copy</div> <div class="right"><button class="clipboard-btn" title="Copy to Clipboard"><span class="icon-clipboard"></span></button></div></div><code class="language-ini"><span class="token constant">InitialTablespace</span> <span class="token attr-value"><span class="token punctuation">=</span> name=TS1; extent_size=8M; data1.dat:2G; data2.dat:4G</span></code></pre>
        </div>
        <p>
         This is equivalent to the following SQL statements:
        </p>
        <div class="copytoclipboard-wrapper">
         <pre class="programlisting language-sql"><div class="docs-select-all right" id="sa79755290"><div class="copy-help left">Press ⌘+C to copy</div> <div class="right"><button class="clipboard-btn" title="Copy to Clipboard"><span class="icon-clipboard"></span></button></div></div><code class="language-sql"><span class="token keyword">CREATE</span> <span class="token keyword">TABLESPACE</span> TS1
    <span class="token keyword">ADD</span> <span class="token keyword">DATAFILE</span> <span class="token string">'data1.dat'</span>
    <span class="token keyword">EXTENT_SIZE</span> 8M
    <span class="token keyword">INITIAL_SIZE</span> 2G
    <span class="token keyword">ENGINE</span> <span class="token keyword">NDBCLUSTER</span><span class="token punctuation">;</span>

<span class="token keyword">ALTER</span> <span class="token keyword">TABLESPACE</span> TS1
    <span class="token keyword">ADD</span> <span class="token keyword">DATAFILE</span> <span class="token string">'data2.dat'</span>
    <span class="token keyword">INITIAL_SIZE</span> 4G
    <span class="token keyword">ENGINE</span> <span class="token keyword">NDBCLUSTER</span><span class="token punctuation">;</span></code></pre>
        </div>
        <p>
         This tablespace is created when the data nodes are
                started with
         <code class="option">
          --initial
         </code>
         , and can be used
                whenever creating NDB Cluster Disk Data tables
                thereafter.
        </p>
       </li>
      </ul>
     </div>
    </li>
    <li class="listitem">
     <p>
      <a name="mysql-cluster-ndbd-definition-disk-data-latency-parameters">
      </a>
      <b>
       Disk Data latency parameters.
      </b>
      The two parameters listed here can be used to improve
              handling of latency issues with NDB Cluster Disk Data
              tables.
     </p>
     <div class="itemizedlist">
      <ul class="itemizedlist" style="list-style-type: circle; ">
       <li class="listitem">
        <p>
         <a name="ndbparam-ndbd-maxdiskdatalatency">
         </a>
         <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-maxdiskdatalatency">
          <code class="literal">
           MaxDiskDataLatency
          </code>
         </a>
        </p>
        <a class="indexterm" name="idm46045114983600">
        </a>
        <div class="informaltable">
         <a name="maxdiskdatalatency-ndbd-table">
         </a>
         <table frame="box" rules="all" summary="MaxDiskDataLatency data node configuration parameter type and value information" width="35%">
          <colgroup>
           <col style="width: 50%"/>
           <col style="width: 50%"/>
          </colgroup>
          <tbody>
           <tr>
            <th>
             Version (or later)
            </th>
            <td>
             NDB 8.4.0
            </td>
           </tr>
           <tr>
            <th>
             Type or units
            </th>
            <td>
             ms
            </td>
           </tr>
           <tr>
            <th>
             Default
            </th>
            <td>
             0
            </td>
           </tr>
           <tr>
            <th>
             Range
            </th>
            <td>
             0 - 8000
            </td>
           </tr>
           <tr>
            <th>
             Restart Type
            </th>
            <td>
             <p>
              <span class="bold">
               <strong>
                Node Restart:
               </strong>
              </span>
              Requires a
              <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
               rolling
                        restart
              </a>
              of the cluster. (NDB 8.4.0)
             </p>
            </td>
           </tr>
          </tbody>
         </table>
        </div>
        <p>
         This parameter controls the maximum allowed mean latency
                for disk access (maximum 8000 milliseconds). When this
                limit is reached,
         <code class="literal">
          NDB
         </code>
         begins to abort
                transactions in order to decrease pressure on the Disk
                Data I/O subsystem. Use
         <code class="literal">
          0
         </code>
         to disable
                the latency check.
        </p>
       </li>
       <li class="listitem">
        <p>
         <a name="ndbparam-ndbd-diskdatausingsamedisk">
         </a>
         <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-diskdatausingsamedisk">
          <code class="literal">
           DiskDataUsingSameDisk
          </code>
         </a>
        </p>
        <a class="indexterm" name="idm46045114961648">
        </a>
        <div class="informaltable">
         <a name="diskdatausingsamedisk-ndbd-table">
         </a>
         <table frame="box" rules="all" summary="DiskDataUsingSameDisk data node configuration parameter type and value information" width="35%">
          <colgroup>
           <col style="width: 50%"/>
           <col style="width: 50%"/>
          </colgroup>
          <tbody>
           <tr>
            <th>
             Version (or later)
            </th>
            <td>
             NDB 8.4.0
            </td>
           </tr>
           <tr>
            <th>
             Type or units
            </th>
            <td>
             boolean
            </td>
           </tr>
           <tr>
            <th>
             Default
            </th>
            <td>
             true
            </td>
           </tr>
           <tr>
            <th>
             Range
            </th>
            <td>
             ...
            </td>
           </tr>
           <tr>
            <th>
             Restart Type
            </th>
            <td>
             <p>
              <span class="bold">
               <strong>
                Node Restart:
               </strong>
              </span>
              Requires a
              <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
               rolling
                        restart
              </a>
              of the cluster. (NDB 8.4.0)
             </p>
            </td>
           </tr>
          </tbody>
         </table>
        </div>
        <p>
         Set this parameter to
         <code class="literal">
          false
         </code>
         if your
                Disk Data tablespaces use one or more separate disks.
                Doing so allows checkpoints to tablespaces to be
                executed at a higher rate than normally used for when
                disks are shared.
        </p>
        <p>
         When
         <code class="literal">
          DiskDataUsingSameDisk
         </code>
         is
         <code class="literal">
          true
         </code>
         ,
         <code class="literal">
          NDB
         </code>
         decreases the rate of Disk Data checkpointing whenever
                an in-memory checkpoint is in progress to help ensure
                that disk load remains constant.
        </p>
       </li>
      </ul>
     </div>
    </li>
   </ul>
  </div>
  <p>
   <a name="mysql-cluster-ndbd-definition-gcp-stop-errors">
   </a>
   <b>
    Disk Data and GCP Stop errors.
   </b>
   <a class="indexterm" name="idm46045114938048">
   </a>
   <a class="indexterm" name="idm46045114936560">
   </a>
   Errors encountered when using Disk Data tables such as
   <span class="errortext">
    Node
    <em class="replaceable">
     <code>
      nodeid
     </code>
    </em>
    killed this
          node because GCP stop was detected
   </span>
   (error 2303)
          are often referred to as
   <span class="quote">
    “
    <span class="quote">
     GCP stop errors
    </span>
    ”
   </span>
   . Such
          errors occur when the redo log is not flushed to disk quickly
          enough; this is usually due to slow disks and insufficient
          disk throughput.
  </p>
  <p>
   You can help prevent these errors from occurring by using faster
        disks, and by placing Disk Data files on a separate disk from
        the data node file system. Reducing the value of
   <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-timebetweenglobalcheckpoints">
    <code class="literal">
     TimeBetweenGlobalCheckpoints
    </code>
   </a>
   tends to decrease the amount of data to be written for each
        global checkpoint, and so may provide some protection against
        redo log buffer overflows when trying to write a global
        checkpoint; however, reducing this value also permits less time
        in which to write the GCP, so this must be done with caution.
  </p>
  <a class="indexterm" name="idm46045114931280">
  </a>
  <a class="indexterm" name="idm46045114930208">
  </a>
  <a class="indexterm" name="idm46045114929136">
  </a>
  <p>
   In addition to the considerations given for
   <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-diskpagebuffermemory">
    <code class="literal">
     DiskPageBufferMemory
    </code>
   </a>
   as
        explained previously, it is also very important that the
   <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-diskiothreadpool">
    <code class="literal">
     DiskIOThreadPool
    </code>
   </a>
   configuration parameter be set correctly; having
   <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-diskiothreadpool">
    <code class="literal">
     DiskIOThreadPool
    </code>
   </a>
   set too
        high is very likely to cause GCP stop errors (Bug #37227).
  </p>
  <p>
   GCP stops can be caused by save or commit timeouts; the
   <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-timebetweenepochstimeout">
    <code class="literal">
     TimeBetweenEpochsTimeout
    </code>
   </a>
   data node configuration parameter determines the timeout for
        commits. However, it is possible to disable both types of
        timeouts by setting this parameter to 0.
  </p>
  <p>
   <b>
    Parameters for configuring send buffer memory allocation.
   </b>
   Send buffer memory is allocated dynamically from a memory pool
          shared between all transporters, which means that the size of
          the send buffer can be adjusted as necessary. (Previously, the
          NDB kernel used a fixed-size send buffer for every node in the
          cluster, which was allocated when the node started and could
          not be changed while the node was running.) The
   <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-totalsendbuffermemory">
    <code class="literal">
     TotalSendBufferMemory
    </code>
   </a>
   and
   <a class="link" href="mysql-cluster-tcp-definition.html#ndbparam-tcp-overloadlimit">
    <code class="literal">
     OverLoadLimit
    </code>
   </a>
   data
          node configuration parameters permit the setting of limits on
          this memory allocation. For more information about the use of
          these parameters (as well as
   <a class="link" href="mysql-cluster-tcp-definition.html#ndbparam-tcp-sendbuffermemory">
    <code class="literal">
     SendBufferMemory
    </code>
   </a>
   ), see
   <a class="xref" href="mysql-cluster-config-send-buffers.html" title="25.4.3.14 Configuring NDB Cluster Send Buffer Parameters">
    Section 25.4.3.14, “Configuring NDB Cluster Send Buffer Parameters”
   </a>
   .
  </p>
  <div class="itemizedlist">
   <ul class="itemizedlist" style="list-style-type: disc; ">
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-extrasendbuffermemory">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-extrasendbuffermemory">
       <code class="literal">
        ExtraSendBufferMemory
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045114912752">
     </a>
     <p>
      This parameter specifies the amount of transporter send
            buffer memory to allocate in addition to any set using
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-totalsendbuffermemory">
       <code class="literal">
        TotalSendBufferMemory
       </code>
      </a>
      ,
      <a class="link" href="mysql-cluster-tcp-definition.html#ndbparam-tcp-sendbuffermemory">
       <code class="literal">
        SendBufferMemory
       </code>
      </a>
      , or
            both.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-totalsendbuffermemory">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-totalsendbuffermemory">
       <code class="literal">
        TotalSendBufferMemory
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045114905776">
     </a>
     <p>
      This parameter is used to determine the total amount of
            memory to allocate on this node for shared send buffer
            memory among all configured transporters.
     </p>
     <p>
      If this parameter is set, its minimum permitted value is
            256KB; 0 indicates that the parameter has not been set. For
            more detailed information, see
      <a class="xref" href="mysql-cluster-config-send-buffers.html" title="25.4.3.14 Configuring NDB Cluster Send Buffer Parameters">
       Section 25.4.3.14, “Configuring NDB Cluster Send Buffer Parameters”
      </a>
      .
     </p>
    </li>
   </ul>
  </div>
  <p>
   See also
   <a class="xref" href="mysql-cluster-online-add-node.html" title="25.6.7 Adding NDB Cluster Data Nodes Online">
    Section 25.6.7, “Adding NDB Cluster Data Nodes Online”
   </a>
   .
  </p>
  <p>
   <a name="mysql-cluster-redo-over-commit-handling">
   </a>
   <b>
    Redo log over-commit handling.
   </b>
   It is possible to control a data node's handling of
          operations when too much time is taken flushing redo logs to
          disk. This occurs when a given redo log flush takes longer
          than
   <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-redoovercommitlimit">
    <code class="literal">
     RedoOverCommitLimit
    </code>
   </a>
   seconds, more than
   <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-redoovercommitcounter">
    <code class="literal">
     RedoOverCommitCounter
    </code>
   </a>
   times, causing any pending transactions to be aborted. When
          this happens, the API node that sent the transaction can
          handle the operations that should have been committed either
          by queuing the operations and re-trying them, or by aborting
          them, as determined by
   <a class="link" href="mysql-cluster-api-definition.html#ndbparam-api-defaultoperationredoproblemaction">
    <code class="literal">
     DefaultOperationRedoProblemAction
    </code>
   </a>
   .
          The data node configuration parameters for setting the timeout
          and number of times it may be exceeded before the API node
          takes this action are described in the following list:
  </p>
  <div class="itemizedlist">
   <ul class="itemizedlist" style="list-style-type: disc; ">
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-redoovercommitcounter">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-redoovercommitcounter">
       <code class="literal">
        RedoOverCommitCounter
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045114892144">
     </a>
     <div class="informaltable">
      <a name="redoovercommitcounter-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="RedoOverCommitCounter data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          numeric
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          3
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          1 - 4294967039 (0xFFFFFEFF)
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      When
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-redoovercommitlimit">
       <code class="literal">
        RedoOverCommitLimit
       </code>
      </a>
      is exceeded when trying to write a given redo log to disk
            this many times or more, any transactions that were not
            committed as a result are aborted, and an API node where any
            of these transactions originated handles the operations
            making up those transactions according to its value for
      <a class="link" href="mysql-cluster-api-definition.html#ndbparam-api-defaultoperationredoproblemaction">
       <code class="literal">
        DefaultOperationRedoProblemAction
       </code>
      </a>
      (by either queuing the operations to be re-tried, or
            aborting them).
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-redoovercommitlimit">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-redoovercommitlimit">
       <code class="literal">
        RedoOverCommitLimit
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045114868368">
     </a>
     <div class="informaltable">
      <a name="redoovercommitlimit-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="RedoOverCommitLimit data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          seconds
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          20
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          1 - 4294967039 (0xFFFFFEFF)
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      This parameter sets an upper limit in seconds for trying to
            write a given redo log to disk before timing out. The number
            of times the data node tries to flush this redo log, but
            takes longer than
      <code class="literal">
       RedoOverCommitLimit
      </code>
      , is
            kept and compared with
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-redoovercommitcounter">
       <code class="literal">
        RedoOverCommitCounter
       </code>
      </a>
      ,
            and when flushing takes too long more times than the value
            of that parameter, any transactions that were not committed
            as a result of the flush timeout are aborted. When this
            occurs, the API node where any of these transactions
            originated handles the operations making up those
            transactions according to its
      <a class="link" href="mysql-cluster-api-definition.html#ndbparam-api-defaultoperationredoproblemaction">
       <code class="literal">
        DefaultOperationRedoProblemAction
       </code>
      </a>
      setting (it either queues the operations to be re-tried, or
            aborts them).
     </p>
    </li>
   </ul>
  </div>
  <p>
   <b>
    Controlling restart attempts.
   </b>
   It is possible to exercise finely-grained control over restart
          attempts by data nodes when they fail to start using the
   <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-maxstartfailretries">
    <code class="literal">
     MaxStartFailRetries
    </code>
   </a>
   and
   <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-startfailretrydelay">
    <code class="literal">
     StartFailRetryDelay
    </code>
   </a>
   data node configuration parameters.
  </p>
  <p>
   <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-maxstartfailretries">
    <code class="literal">
     MaxStartFailRetries
    </code>
   </a>
   limits the total number of retries made before giving up on
        starting the data node,
   <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-startfailretrydelay">
    <code class="literal">
     StartFailRetryDelay
    </code>
   </a>
   sets
        the number of seconds between retry attempts. These parameters
        are listed here:
  </p>
  <div class="itemizedlist">
   <ul class="itemizedlist" style="list-style-type: disc; ">
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-startfailretrydelay">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-startfailretrydelay">
       <code class="literal">
        StartFailRetryDelay
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045114836176">
     </a>
     <div class="informaltable">
      <a name="startfailretrydelay-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="StartFailRetryDelay data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          unsigned
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          0
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          0 - 4294967039 (0xFFFFFEFF)
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      Use this parameter to set the number of seconds between
            restart attempts by the data node in the event on failure on
            startup. The default is 0 (no delay).
     </p>
     <p>
      Both this parameter and
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-maxstartfailretries">
       <code class="literal">
        MaxStartFailRetries
       </code>
      </a>
      are ignored unless
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-stoponerror">
       <code class="literal">
        StopOnError
       </code>
      </a>
      is equal
            to 0.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-maxstartfailretries">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-maxstartfailretries">
       <code class="literal">
        MaxStartFailRetries
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045114812576">
     </a>
     <div class="informaltable">
      <a name="maxstartfailretries-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="MaxStartFailRetries data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          unsigned
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          3
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          0 - 4294967039 (0xFFFFFEFF)
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      Use this parameter to limit the number restart attempts made
            by the data node in the event that it fails on startup. The
            default is 3 attempts.
     </p>
     <p>
      Both this parameter and
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-startfailretrydelay">
       <code class="literal">
        StartFailRetryDelay
       </code>
      </a>
      are ignored unless
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-stoponerror">
       <code class="literal">
        StopOnError
       </code>
      </a>
      is equal
            to 0.
     </p>
    </li>
   </ul>
  </div>
  <p>
   <a name="mysql-cluster-ndbd-definition-index-statistics-parameters">
   </a>
   <b>
    NDB index statistics parameters.
   </b>
   <a class="indexterm" name="idm46045114789648">
   </a>
   The parameters in the following list relate to NDB index
          statistics generation.
  </p>
  <div class="itemizedlist">
   <ul class="itemizedlist" style="list-style-type: disc; ">
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-indexstatautocreate">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-indexstatautocreate">
       <code class="literal">
        IndexStatAutoCreate
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045114785232">
     </a>
     <div class="informaltable">
      <a name="indexstatautocreate-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="IndexStatAutoCreate data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          integer
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          1
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          0, 1
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      Enable (set equal to 1) or disable (set equal to 0)
            automatic statistics collection when indexes are created.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-indexstatautoupdate">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-indexstatautoupdate">
       <code class="literal">
        IndexStatAutoUpdate
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045114764256">
     </a>
     <div class="informaltable">
      <a name="indexstatautoupdate-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="IndexStatAutoUpdate data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          integer
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          1
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          0, 1
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster. (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      Enable (set equal to 1) or disable (set equal to 0)
            monitoring of indexes for changes, and trigger automatic
            statistics updates when these are detected. The degree of
            change needed to trigger the updates are determined by the
            settings for the
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-indexstattriggerpct">
       <code class="literal">
        IndexStatTriggerPct
       </code>
      </a>
      and
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-indexstattriggerscale">
       <code class="literal">
        IndexStatTriggerScale
       </code>
      </a>
      options.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-indexstatsavesize">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-indexstatsavesize">
       <code class="literal">
        IndexStatSaveSize
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045114740544">
     </a>
     <div class="informaltable">
      <a name="indexstatsavesize-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="IndexStatSaveSize data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          bytes
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          32768
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          0 - 4294967039 (0xFFFFFEFF)
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Initial Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster; each data node must
                    be restarted with
           <a class="link" href="mysql-cluster-programs-ndbd.html#option_ndbd_initial">
            <code class="option">
             --initial
            </code>
           </a>
           . (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      Maximum space in bytes allowed for the saved statistics of
            any given index in the
      <a class="link" href="mysql-cluster.html" title="Chapter 25 MySQL NDB Cluster 8.4">
       <code class="literal">
        NDB
       </code>
      </a>
      system tables and in the
      <a class="link" href="mysqld.html" title="6.3.1 mysqld — The MySQL Server">
       <span class="command">
        <strong>
         mysqld
        </strong>
       </span>
      </a>
      memory
            cache.
     </p>
     <p>
      At least one sample is always produced, regardless of any
            size limit. This size is scaled by
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-indexstatsavescale">
       <code class="literal">
        IndexStatSaveScale
       </code>
      </a>
      .
     </p>
     <p>
      The size specified by
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-indexstatsavesize">
       <code class="literal">
        IndexStatSaveSize
       </code>
      </a>
      is
            scaled by the value of
      <code class="literal">
       IndexStatTriggerPct
      </code>
      for a large index,
            times 0.01. This is further multiplied by the logarithm to
            the base 2 of the index size. Setting
      <code class="literal">
       IndexStatTriggerPct
      </code>
      equal to 0 disables
            the scaling effect.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-indexstatsavescale">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-indexstatsavescale">
       <code class="literal">
        IndexStatSaveScale
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045114711088">
     </a>
     <div class="informaltable">
      <a name="indexstatsavescale-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="IndexStatSaveScale data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          percentage
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          100
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          0 - 4294967039 (0xFFFFFEFF)
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Initial Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster; each data node must
                    be restarted with
           <a class="link" href="mysql-cluster-programs-ndbd.html#option_ndbd_initial">
            <code class="option">
             --initial
            </code>
           </a>
           . (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      The size specified by
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-indexstatsavesize">
       <code class="literal">
        IndexStatSaveSize
       </code>
      </a>
      is
            scaled by the value of
      <code class="literal">
       IndexStatTriggerPct
      </code>
      for a large index,
            times 0.01. This is further multiplied by the logarithm to
            the base 2 of the index size. Setting
      <code class="literal">
       IndexStatTriggerPct
      </code>
      equal to 0 disables
            the scaling effect.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-indexstattriggerpct">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-indexstattriggerpct">
       <code class="literal">
        IndexStatTriggerPct
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045114686352">
     </a>
     <div class="informaltable">
      <a name="indexstattriggerpct-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="IndexStatTriggerPct data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          percentage
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          100
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          0 - 4294967039 (0xFFFFFEFF)
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Initial Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster; each data node must
                    be restarted with
           <a class="link" href="mysql-cluster-programs-ndbd.html#option_ndbd_initial">
            <code class="option">
             --initial
            </code>
           </a>
           . (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      Percentage change in updates that triggers an index
            statistics update. The value is scaled by
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-indexstattriggerscale">
       <code class="literal">
        IndexStatTriggerScale
       </code>
      </a>
      .
            You can disable this trigger altogether by setting
      <code class="literal">
       IndexStatTriggerPct
      </code>
      to 0.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-indexstattriggerscale">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-indexstattriggerscale">
       <code class="literal">
        IndexStatTriggerScale
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045114662352">
     </a>
     <div class="informaltable">
      <a name="indexstattriggerscale-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="IndexStatTriggerScale data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          percentage
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          100
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          0 - 4294967039 (0xFFFFFEFF)
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Initial Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster; each data node must
                    be restarted with
           <a class="link" href="mysql-cluster-programs-ndbd.html#option_ndbd_initial">
            <code class="option">
             --initial
            </code>
           </a>
           . (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      Scale
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-indexstattriggerpct">
       <code class="literal">
        IndexStatTriggerPct
       </code>
      </a>
      by this amount times 0.01 for a large index. A value of 0
            disables scaling.
     </p>
    </li>
    <li class="listitem">
     <p>
      <a name="ndbparam-ndbd-indexstatupdatedelay">
      </a>
      <a class="link" href="mysql-cluster-ndbd-definition.html#ndbparam-ndbd-indexstatupdatedelay">
       <code class="literal">
        IndexStatUpdateDelay
       </code>
      </a>
     </p>
     <a class="indexterm" name="idm46045114639136">
     </a>
     <div class="informaltable">
      <a name="indexstatupdatedelay-ndbd-table">
      </a>
      <table frame="box" rules="all" summary="IndexStatUpdateDelay data node configuration parameter type and value information" width="35%">
       <colgroup>
        <col style="width: 50%"/>
        <col style="width: 50%"/>
       </colgroup>
       <tbody>
        <tr>
         <th>
          Version (or later)
         </th>
         <td>
          NDB 8.4.0
         </td>
        </tr>
        <tr>
         <th>
          Type or units
         </th>
         <td>
          seconds
         </td>
        </tr>
        <tr>
         <th>
          Default
         </th>
         <td>
          60
         </td>
        </tr>
        <tr>
         <th>
          Range
         </th>
         <td>
          0 - 4294967039 (0xFFFFFEFF)
         </td>
        </tr>
        <tr>
         <th>
          Restart Type
         </th>
         <td>
          <p>
           <span class="bold">
            <strong>
             Initial Node Restart:
            </strong>
           </span>
           Requires a
           <a class="link" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
            rolling
                    restart
           </a>
           of the cluster; each data node must
                    be restarted with
           <a class="link" href="mysql-cluster-programs-ndbd.html#option_ndbd_initial">
            <code class="option">
             --initial
            </code>
           </a>
           . (NDB 8.4.0)
          </p>
         </td>
        </tr>
       </tbody>
      </table>
     </div>
     <p>
      Minimum delay in seconds between automatic index statistics
            updates for a given index. Setting this variable to 0
            disables any delay. The default is 60 seconds.
     </p>
    </li>
   </ul>
  </div>
  <p>
   <a name="mysql-cluster-ndbd-definition-restart-types">
   </a>
   <b>
    Restart types.
   </b>
   Information about the restart types used by the parameter
          descriptions in this section is shown in the following table:
  </p>
  <div class="table">
   <a name="idm46045114617472">
   </a>
   <p class="title">
    <b>
     Table 25.15 NDB Cluster restart types
    </b>
   </p>
   <div class="table-contents">
    <table>
     <colgroup>
      <col style="width: 10%"/>
      <col style="width: 30%"/>
      <col style="width: 60%"/>
     </colgroup>
     <thead>
      <tr>
       <th scope="col">
        Symbol
       </th>
       <th scope="col">
        Restart Type
       </th>
       <th scope="col">
        Description
       </th>
      </tr>
     </thead>
     <tbody>
      <tr>
       <th scope="row">
        N
       </th>
       <td>
        Node
       </td>
       <td>
        The parameter can be updated using a rolling restart (see
        <a class="xref" href="mysql-cluster-rolling-restart.html" title="25.6.5 Performing a Rolling Restart of an NDB Cluster">
         Section 25.6.5, “Performing a Rolling Restart of an NDB Cluster”
        </a>
        )
       </td>
      </tr>
      <tr>
       <th scope="row">
        S
       </th>
       <td>
        System
       </td>
       <td>
        All cluster nodes must be shut down completely, then restarted, to
              effect a change in this parameter
       </td>
      </tr>
      <tr>
       <th scope="row">
        I
       </th>
       <td>
        Initial
       </td>
       <td>
        Data nodes must be restarted using the
        <a class="link" href="mysql-cluster-programs-ndbd.html#option_ndbd_initial">
         <code class="option">
          --initial
         </code>
        </a>
        option
       </td>
      </tr>
     </tbody>
    </table>
   </div>
  </div>
  <br class="table-break"/>
 </div>
 <br/>
</div>
