> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kinetica.com/llms.txt
> Use this file to discover all available pages before exploring further.

# gpudb::AdminRemoveRanksRequest

> gpudb::AdminRemoveRanksRequest — Kinetica C++ API

<div className="kinetica-doxygen">
  <div className="contents">
    <p>A set of parameters for <a className="el" href="/content/api/cpp/classgpudb_1_1GPUdb#af47d6fbc166de5aa113aacbd9cad9ca7">GPUdb::adminRemoveRanks</a>. <a href="#details">More...</a></p>
    <p><code>#include \<<a className="el" href="/content/api/cpp/admin__remove__ranks_8h_source">gpudb/protocol/admin\_remove\_ranks.h</a>></code></p>

    <table className="memberdecls">
      <tr className="heading">
        <td colSpan="2">
          <h2 className="groupheader"> Public Member Functions</h2>
        </td>
      </tr>

      <tr className="memitem:a23219e7a68f092bf13b9f29f79bbefd5" id="r_a23219e7a68f092bf13b9f29f79bbefd5">
        <td className="memItemLeft" align="right" valign="top"> </td>
        <td className="memItemRight" valign="bottom"><a className="el" href="#a23219e7a68f092bf13b9f29f79bbefd5">AdminRemoveRanksRequest</a> ()</td>
      </tr>

      <tr className="memdesc:a23219e7a68f092bf13b9f29f79bbefd5">
        <td className="mdescLeft"> </td>
        <td className="mdescRight">Constructs an <a className="el" href="/content/api/cpp/structgpudb_1_1AdminRemoveRanksRequest" title="A set of parameters for GPUdb::adminRemoveRanks.">AdminRemoveRanksRequest</a> object with default parameters. <br /></td>
      </tr>

      <tr className="separator:a23219e7a68f092bf13b9f29f79bbefd5">
        <td className="memSeparator" colSpan="2"> </td>
      </tr>

      <tr className="memitem:a6cffa8114b6ecffa44c0f870923de434" id="r_a6cffa8114b6ecffa44c0f870923de434">
        <td className="memItemLeft" align="right" valign="top"> </td>
        <td className="memItemRight" valign="bottom"><a className="el" href="#a6cffa8114b6ecffa44c0f870923de434">AdminRemoveRanksRequest</a> (const std::vector\< std::string > \&ranks\_, const std::map\< std::string, std::string > \&options\_)</td>
      </tr>

      <tr className="memdesc:a6cffa8114b6ecffa44c0f870923de434">
        <td className="mdescLeft"> </td>
        <td className="mdescRight">Constructs an <a className="el" href="/content/api/cpp/structgpudb_1_1AdminRemoveRanksRequest" title="A set of parameters for GPUdb::adminRemoveRanks.">AdminRemoveRanksRequest</a> object with the specified parameters. <br /></td>
      </tr>

      <tr className="separator:a6cffa8114b6ecffa44c0f870923de434">
        <td className="memSeparator" colSpan="2"> </td>
      </tr>
    </table>

    <table className="memberdecls">
      <tr className="heading">
        <td colSpan="2">
          <h2 className="groupheader"> Public Attributes</h2>
        </td>
      </tr>

      <tr className="memitem:ac814f0f6d7337b40443f5b7448a37b1f" id="r_ac814f0f6d7337b40443f5b7448a37b1f">
        <td className="memItemLeft" align="right" valign="top">std::vector\< std::string > </td>
        <td className="memItemRight" valign="bottom"><a className="el" href="#ac814f0f6d7337b40443f5b7448a37b1f">ranks</a></td>
      </tr>

      <tr className="memdesc:ac814f0f6d7337b40443f5b7448a37b1f">
        <td className="mdescLeft"> </td>
        <td className="mdescRight">Each array value designates one or more ranks to remove from the cluster. <br /></td>
      </tr>

      <tr className="separator:ac814f0f6d7337b40443f5b7448a37b1f">
        <td className="memSeparator" colSpan="2"> </td>
      </tr>

      <tr className="memitem:a11f8dcac1d2fd5d158e5b4c9ce8add19" id="r_a11f8dcac1d2fd5d158e5b4c9ce8add19">
        <td className="memItemLeft" align="right" valign="top">std::map\< std::string, std::string > </td>
        <td className="memItemRight" valign="bottom"><a className="el" href="#a11f8dcac1d2fd5d158e5b4c9ce8add19">options</a></td>
      </tr>

      <tr className="memdesc:a11f8dcac1d2fd5d158e5b4c9ce8add19">
        <td className="mdescLeft"> </td>
        <td className="mdescRight">Optional parameters. <br /></td>
      </tr>

      <tr className="separator:a11f8dcac1d2fd5d158e5b4c9ce8add19">
        <td className="memSeparator" colSpan="2"> </td>
      </tr>
    </table>

    <h2 className="groupheader">Detailed Description</h2>

    <div className="textblock">
      <p>A set of parameters for <a className="el" href="/content/api/cpp/classgpudb_1_1GPUdb#af47d6fbc166de5aa113aacbd9cad9ca7">GPUdb::adminRemoveRanks</a>. </p>
      <p>Remove one or more ranks from an existing Kinetica cluster. All data will be rebalanced to other ranks before the rank(s) is removed unless the <a className="el" href="/content/api/cpp/namespacegpudb#a0546b285a079b4c847ef24789b7466df">rebalance\_sharded\_data</a> or <a className="el" href="/content/api/cpp/namespacegpudb#a314220f1f065de6daae02c1a756ee98f">rebalance\_unsharded\_data</a> parameters are set to <a className="el" href="/content/api/cpp/namespacegpudb#abd6ae1c29538868f683c3682ca3f197b">false</a> in the <a className="el" href="#a11f8dcac1d2fd5d158e5b4c9ce8add19">options</a>, in which case the corresponding <a href="/content/concepts/tables/#sharding" target="_top">sharded data</a> and/or unsharded data (a.k.a. <a href="/content/concepts/tables/#random-sharding" target="_top">randomly-sharded</a>) will be deleted.</p>
      <p>The database must be offline for this operation, see <a className="el" href="/content/api/cpp/classgpudb_1_1GPUdb#a9458238afaafde877e568a92d45abb75">GPUdb::adminOffline</a></p>
      <p>This endpoint's processing time depends on the amount of data in the system, thus the API call may time out if run directly. It is recommended to run this endpoint asynchronously via <a className="el" href="/content/api/cpp/classgpudb_1_1GPUdb#a02ef4c58e395bbf2c83325cf592397af">GPUdb::createJob</a>. </p>
      <p className="definition">Definition at line <a className="el" href="/content/api/cpp/admin__remove__ranks_8h_source#l00037">37</a> of file <a className="el" href="/content/api/cpp/admin__remove__ranks_8h_source">admin\_remove\_ranks.h</a>.</p>
    </div>

    <h2 className="groupheader">Constructor & Destructor Documentation</h2>
    <h2 className="memtitle"><span className="permalink"><a href="#a23219e7a68f092bf13b9f29f79bbefd5">◆ </a></span>AdminRemoveRanksRequest() <span className="overload">\[1/2]</span></h2>

    <div className="memitem">
      <div className="memproto">
        <table className="mlabels">
          <tr>
            <td className="mlabels-left">
              <table className="memname">
                <tr>
                  <td className="memname">gpudb::AdminRemoveRanksRequest::AdminRemoveRanksRequest </td>
                  <td>(</td>

                  <td className="paramname">
                    <span className="paramname">
                      <span className="em" />
                    </span>
                  </td>

                  <td>)</td>

                  <td />
                </tr>
              </table>
            </td>

            <td className="mlabels-right"> <span className="mlabels"><span className="mlabel inline">inline</span></span> </td>
          </tr>
        </table>
      </div>

      <div className="memdoc">
        <p>Constructs an <a className="el" href="/content/api/cpp/structgpudb_1_1AdminRemoveRanksRequest" title="A set of parameters for GPUdb::adminRemoveRanks.">AdminRemoveRanksRequest</a> object with default parameters. </p>
        <p className="definition">Definition at line <a className="el" href="/content/api/cpp/admin__remove__ranks_8h_source#l00043">43</a> of file <a className="el" href="/content/api/cpp/admin__remove__ranks_8h_source">admin\_remove\_ranks.h</a>.</p>
      </div>
    </div>

    <h2 className="memtitle"><span className="permalink"><a href="#a6cffa8114b6ecffa44c0f870923de434">◆ </a></span>AdminRemoveRanksRequest() <span className="overload">\[2/2]</span></h2>

    <div className="memitem">
      <div className="memproto">
        <table className="mlabels">
          <tr>
            <td className="mlabels-left">
              <table className="memname">
                <tr>
                  <td className="memname">gpudb::AdminRemoveRanksRequest::AdminRemoveRanksRequest </td>
                  <td>(</td>
                  <td className="paramtype">const std::vector\< std::string > &</td>
                  <td className="paramname"><span className="paramname"><span className="em">ranks\_</span></span>, </td>
                </tr>

                <tr>
                  <td className="paramkey" />

                  <td />

                  <td className="paramtype">const std::map\< std::string, std::string > &</td>
                  <td className="paramname"><span className="paramname"><span className="em">options\_</span></span> )</td>
                </tr>
              </table>
            </td>

            <td className="mlabels-right"> <span className="mlabels"><span className="mlabel inline">inline</span></span> </td>
          </tr>
        </table>
      </div>

      <div className="memdoc">
        <p>Constructs an <a className="el" href="/content/api/cpp/structgpudb_1_1AdminRemoveRanksRequest" title="A set of parameters for GPUdb::adminRemoveRanks.">AdminRemoveRanksRequest</a> object with the specified parameters. </p>

        <div className="dl params">
          <div className="dt">Parameters</div>

          <div className="dd">
            <table className="params">
              <tr>
                <td className="paramdir">\[in]</td>
                <td className="paramname">ranks\_</td>
                <td>Each array value designates one or more ranks to remove from the cluster. Values can be formatted as 'rankN' for a specific rank, 'hostN' (from the gpudb.conf file) to remove all ranks on that host, or the host IP address (hostN.address from the gpub.conf file) which also removes all ranks on that host. Rank 0 (the head rank) cannot be removed (but can be moved to another host using <a className="el" href="/content/api/cpp/classgpudb_1_1GPUdb#a2c4d8fe04dc3c5feb4e5e343889bddf8">GPUdb::adminSwitchover</a>). At least one worker rank must be left in the cluster after the operation. </td>
              </tr>

              <tr>
                <td className="paramdir">\[in]</td>
                <td className="paramname">options\_</td>

                <td>
                  Optional parameters.

                  <ul>
                    <li>
                      <a className="el" href="/content/api/cpp/namespacegpudb#a0546b285a079b4c847ef24789b7466df">admin\_remove\_ranks\_rebalance\_sharded\_data</a>: If <a className="el" href="/content/api/cpp/namespacegpudb#aa3848331c75e8f304de305fda7bfe584">true</a>, <a href="/content/concepts/tables/#sharding" target="_top">sharded data</a> will be rebalanced approximately equally across the cluster. Note that for clusters with large amounts of sharded data, this data transfer could be time consuming and result in delayed query responses. Supported values:

                      <ul>
                        <li> <a className="el" href="/content/api/cpp/namespacegpudb#aa3848331c75e8f304de305fda7bfe584">admin\_remove\_ranks\_true</a> </li>
                        <li> <a className="el" href="/content/api/cpp/namespacegpudb#abd6ae1c29538868f683c3682ca3f197b">admin\_remove\_ranks\_false</a> </li>
                      </ul>

                      The default value is <a className="el" href="/content/api/cpp/namespacegpudb#aa3848331c75e8f304de305fda7bfe584">admin\_remove\_ranks\_true</a>.
                    </li>

                    <li>
                      <a className="el" href="/content/api/cpp/namespacegpudb#a314220f1f065de6daae02c1a756ee98f">admin\_remove\_ranks\_rebalance\_unsharded\_data</a>: If <a className="el" href="/content/api/cpp/namespacegpudb#aa3848331c75e8f304de305fda7bfe584">true</a>, unsharded data (a.k.a. <a href="/content/concepts/tables/#random-sharding" target="_top">randomly-sharded</a>) will be rebalanced approximately equally across the cluster. Note that for clusters with large amounts of unsharded data, this data transfer could be time consuming and result in delayed query responses. Supported values:

                      <ul>
                        <li> <a className="el" href="/content/api/cpp/namespacegpudb#aa3848331c75e8f304de305fda7bfe584">admin\_remove\_ranks\_true</a> </li>
                        <li> <a className="el" href="/content/api/cpp/namespacegpudb#abd6ae1c29538868f683c3682ca3f197b">admin\_remove\_ranks\_false</a> </li>
                      </ul>

                      The default value is <a className="el" href="/content/api/cpp/namespacegpudb#aa3848331c75e8f304de305fda7bfe584">admin\_remove\_ranks\_true</a>.
                    </li>

                    <li> <a className="el" href="/content/api/cpp/namespacegpudb#ae195a601cd7c0a760fe753d9b53d463f">admin\_remove\_ranks\_aggressiveness</a>: Influences how much data is moved at a time during rebalance. A higher <a className="el" href="/content/api/cpp/namespacegpudb#ae195a601cd7c0a760fe753d9b53d463f">aggressiveness</a> will complete the rebalance faster. A lower <a className="el" href="/content/api/cpp/namespacegpudb#ae195a601cd7c0a760fe753d9b53d463f">aggressiveness</a> will take longer but allow for better interleaving between the rebalance and other queries. Valid values are constants from 1 (lowest) to 10 (highest). The default value is '10'. </li>
                  </ul>

                  The default value is an empty map.
                </td>
              </tr>
            </table>
          </div>
        </div>

        <p className="definition">Definition at line <a className="el" href="/content/api/cpp/admin__remove__ranks_8h_source#l00136">136</a> of file <a className="el" href="/content/api/cpp/admin__remove__ranks_8h_source">admin\_remove\_ranks.h</a>.</p>
      </div>
    </div>

    <h2 className="groupheader">Member Data Documentation</h2>
    <h2 className="memtitle"><span className="permalink"><a href="#a11f8dcac1d2fd5d158e5b4c9ce8add19">◆ </a></span>options</h2>

    <div className="memitem">
      <div className="memproto">
        <table className="memname">
          <tr>
            <td className="memname">std::map\<std::string, std::string> gpudb::AdminRemoveRanksRequest::options</td>
          </tr>
        </table>
      </div>

      <div className="memdoc">
        <p>Optional parameters. </p>

        <ul>
          <li>
            <a className="el" href="/content/api/cpp/namespacegpudb#a0546b285a079b4c847ef24789b7466df">admin\_remove\_ranks\_rebalance\_sharded\_data</a>: If <a className="el" href="/content/api/cpp/namespacegpudb#aa3848331c75e8f304de305fda7bfe584">true</a>, <a href="/content/concepts/tables/#sharding" target="_top">sharded data</a> will be rebalanced approximately equally across the cluster. Note that for clusters with large amounts of sharded data, this data transfer could be time consuming and result in delayed query responses. Supported values:

            <ul>
              <li> <a className="el" href="/content/api/cpp/namespacegpudb#aa3848331c75e8f304de305fda7bfe584">admin\_remove\_ranks\_true</a> </li>
              <li> <a className="el" href="/content/api/cpp/namespacegpudb#abd6ae1c29538868f683c3682ca3f197b">admin\_remove\_ranks\_false</a> </li>
            </ul>

            The default value is <a className="el" href="/content/api/cpp/namespacegpudb#aa3848331c75e8f304de305fda7bfe584">admin\_remove\_ranks\_true</a>.
          </li>

          <li>
            <a className="el" href="/content/api/cpp/namespacegpudb#a314220f1f065de6daae02c1a756ee98f">admin\_remove\_ranks\_rebalance\_unsharded\_data</a>: If <a className="el" href="/content/api/cpp/namespacegpudb#aa3848331c75e8f304de305fda7bfe584">true</a>, unsharded data (a.k.a. <a href="/content/concepts/tables/#random-sharding" target="_top">randomly-sharded</a>) will be rebalanced approximately equally across the cluster. Note that for clusters with large amounts of unsharded data, this data transfer could be time consuming and result in delayed query responses. Supported values:

            <ul>
              <li> <a className="el" href="/content/api/cpp/namespacegpudb#aa3848331c75e8f304de305fda7bfe584">admin\_remove\_ranks\_true</a> </li>
              <li> <a className="el" href="/content/api/cpp/namespacegpudb#abd6ae1c29538868f683c3682ca3f197b">admin\_remove\_ranks\_false</a> </li>
            </ul>

            The default value is <a className="el" href="/content/api/cpp/namespacegpudb#aa3848331c75e8f304de305fda7bfe584">admin\_remove\_ranks\_true</a>.
          </li>

          <li> <a className="el" href="/content/api/cpp/namespacegpudb#ae195a601cd7c0a760fe753d9b53d463f">admin\_remove\_ranks\_aggressiveness</a>: Influences how much data is moved at a time during rebalance. A higher <a className="el" href="/content/api/cpp/namespacegpudb#ae195a601cd7c0a760fe753d9b53d463f">aggressiveness</a> will complete the rebalance faster. A lower <a className="el" href="/content/api/cpp/namespacegpudb#ae195a601cd7c0a760fe753d9b53d463f">aggressiveness</a> will take longer but allow for better interleaving between the rebalance and other queries. Valid values are constants from 1 (lowest) to 10 (highest). The default value is '10'. </li>
        </ul>

        <p>The default value is an empty map. </p>
        <p className="definition">Definition at line <a className="el" href="/content/api/cpp/admin__remove__ranks_8h_source#l00206">206</a> of file <a className="el" href="/content/api/cpp/admin__remove__ranks_8h_source">admin\_remove\_ranks.h</a>.</p>
      </div>
    </div>

    <h2 className="memtitle"><span className="permalink"><a href="#ac814f0f6d7337b40443f5b7448a37b1f">◆ </a></span>ranks</h2>

    <div className="memitem">
      <div className="memproto">
        <table className="memname">
          <tr>
            <td className="memname">std::vector\<std::string> gpudb::AdminRemoveRanksRequest::ranks</td>
          </tr>
        </table>
      </div>

      <div className="memdoc">
        <p>Each array value designates one or more ranks to remove from the cluster. </p>
        <p>Values can be formatted as 'rankN' for a specific rank, 'hostN' (from the gpudb.conf file) to remove all ranks on that host, or the host IP address (hostN.address from the gpub.conf file) which also removes all ranks on that host. Rank 0 (the head rank) cannot be removed (but can be moved to another host using <a className="el" href="/content/api/cpp/classgpudb_1_1GPUdb#a2c4d8fe04dc3c5feb4e5e343889bddf8">GPUdb::adminSwitchover</a>). At least one worker rank must be left in the cluster after the operation. </p>
        <p className="definition">Definition at line <a className="el" href="/content/api/cpp/admin__remove__ranks_8h_source#l00153">153</a> of file <a className="el" href="/content/api/cpp/admin__remove__ranks_8h_source">admin\_remove\_ranks.h</a>.</p>
      </div>
    </div>

    <hr />

    The documentation for this struct was generated from the following file:

    <ul>
      <li>gpudb/protocol/<a className="el" href="/content/api/cpp/admin__remove__ranks_8h_source">admin\_remove\_ranks.h</a></li>
    </ul>
  </div>
</div>
