Skip to main content

Class AdminAddRanksRequest

java.lang.Object
com.gpudb.protocol.AdminAddRanksRequest
All Implemented Interfaces:
org.apache.avro.generic.GenericContainer, org.apache.avro.generic.IndexedRecord

public class AdminAddRanksRequest extends Object implements org.apache.avro.generic.IndexedRecord
A set of parameters for GPUdb.adminAddRanks.

Add one or more ranks to an existing Kinetica cluster. The new ranks will not contain any data initially (other than replicated tables) and will not be assigned any shards. To rebalance data and shards across the cluster, use GPUdb.adminRebalance.

The database must be offline for this operation, see GPUdb.adminOffline

For example, if attempting to add three new ranks (two ranks on host 172.123.45.67 and one rank on host 172.123.45.68) to a Kinetica cluster with additional configuration parameters:

* hosts would be an array including 172.123.45.67 in the first two indices (signifying two ranks being added to host 172.123.45.67) and 172.123.45.68 in the last index (signifying one rank being added to host 172.123.45.67)

* configParams would be an array of maps, with each map corresponding to the ranks being added in hosts. The key of each map would be the configuration parameter name and the value would be the parameter’s value, e.g. ‘“rank.gpu”:“1”

This endpoint’s processing includes copying all replicated table data to the new rank(s) and therefore could take a long time. The API call may time out if run directly. It is recommended to run this endpoint asynchronously via GPUdb.createJob.

  • Constructor Details

    • AdminAddRanksRequest

      public AdminAddRanksRequest()
      Constructs an AdminAddRanksRequest object with default parameters.
    • AdminAddRanksRequest

      public AdminAddRanksRequest(List<String> hosts, List<Map<String,String>> configParams, Map<String,String> options)
      Constructs an AdminAddRanksRequest object with the specified parameters.
      Parameters:
      hosts - Array of host IP addresses (matching a hostN.address from the gpudb.conf file), or host identifiers (e.g. ‘host0’ from the gpudb.conf file), on which to add ranks to the cluster. The hosts must already be in the cluster. If needed beforehand, to add a new host to the cluster use GPUdb.adminAddHost. Include the same entry as many times as there are ranks to add to the cluster, e.g., if two ranks on host 172.123.45.67 should be added, hosts could look like ’[“172.123.45.67”, “172.123.45.67”]’. All ranks will be added simultaneously, i.e. they’re not added in the order of this array. Each entry in this array corresponds to the entry at the same index in the configParams.
      configParams - Array of maps containing configuration parameters to apply to the new ranks found in hosts. For example, ‘“rank.gpu”:“2”, “tier.ram.rank.limit”:“10000000000”’. Currently, the available parameters are rank-specific parameters in the Network, Hardware, Text Search, and RAM Tiered Storage sections in the gpudb.conf file, with the key exception of the ‘rankN.host’ settings in the Network section that will be determined by hosts instead. Though many of these configuration parameters typically are affixed with ‘rankN’ in the gpudb.conf file (where N is the rank number), the ‘N’ should be omitted in configParams as the new rank number(s) are not allocated until the ranks have been added to the cluster. Each entry in this array corresponds to the entry at the same index in the hosts. This array must either be completely empty or have the same number of elements as the hosts. An empty configParams array will result in the new ranks being set with default parameters.
      options - Optional parameters.
      • DRY_RUN: If TRUE, only validation checks will be performed. No ranks are added. Supported values:The default value is FALSE.
      The default value is an empty Map.
  • Method Details

    • getClassSchema

      public static org.apache.avro.Schema getClassSchema()
      This method supports the Avro framework and is not intended to be called directly by the user.
      Returns:
      The schema for the class.
    • getHosts

      public List<String> getHosts()
      Array of host IP addresses (matching a hostN.address from the gpudb.conf file), or host identifiers (e.g. ‘host0’ from the gpudb.conf file), on which to add ranks to the cluster. The hosts must already be in the cluster. If needed beforehand, to add a new host to the cluster use GPUdb.adminAddHost. Include the same entry as many times as there are ranks to add to the cluster, e.g., if two ranks on host 172.123.45.67 should be added, hosts could look like ’[“172.123.45.67”, “172.123.45.67”]’. All ranks will be added simultaneously, i.e. they’re not added in the order of this array. Each entry in this array corresponds to the entry at the same index in the configParams.
      Returns:
      The current value of hosts.
    • setHosts

      public AdminAddRanksRequest setHosts(List<String> hosts)
      Array of host IP addresses (matching a hostN.address from the gpudb.conf file), or host identifiers (e.g. ‘host0’ from the gpudb.conf file), on which to add ranks to the cluster. The hosts must already be in the cluster. If needed beforehand, to add a new host to the cluster use GPUdb.adminAddHost. Include the same entry as many times as there are ranks to add to the cluster, e.g., if two ranks on host 172.123.45.67 should be added, hosts could look like ’[“172.123.45.67”, “172.123.45.67”]’. All ranks will be added simultaneously, i.e. they’re not added in the order of this array. Each entry in this array corresponds to the entry at the same index in the configParams.
      Parameters:
      hosts - The new value for hosts.
      Returns:
      this to mimic the builder pattern.
    • getConfigParams

      public List<Map<String,String>> getConfigParams()
      Array of maps containing configuration parameters to apply to the new ranks found in hosts. For example, ‘“rank.gpu”:“2”, “tier.ram.rank.limit”:“10000000000”’. Currently, the available parameters are rank-specific parameters in the Network, Hardware, Text Search, and RAM Tiered Storage sections in the gpudb.conf file, with the key exception of the ‘rankN.host’ settings in the Network section that will be determined by hosts instead. Though many of these configuration parameters typically are affixed with ‘rankN’ in the gpudb.conf file (where N is the rank number), the ‘N’ should be omitted in configParams as the new rank number(s) are not allocated until the ranks have been added to the cluster. Each entry in this array corresponds to the entry at the same index in the hosts. This array must either be completely empty or have the same number of elements as the hosts. An empty configParams array will result in the new ranks being set with default parameters.
      Returns:
      The current value of configParams.
    • setConfigParams

      public AdminAddRanksRequest setConfigParams(List<Map<String,String>> configParams)
      Array of maps containing configuration parameters to apply to the new ranks found in hosts. For example, ‘“rank.gpu”:“2”, “tier.ram.rank.limit”:“10000000000”’. Currently, the available parameters are rank-specific parameters in the Network, Hardware, Text Search, and RAM Tiered Storage sections in the gpudb.conf file, with the key exception of the ‘rankN.host’ settings in the Network section that will be determined by hosts instead. Though many of these configuration parameters typically are affixed with ‘rankN’ in the gpudb.conf file (where N is the rank number), the ‘N’ should be omitted in configParams as the new rank number(s) are not allocated until the ranks have been added to the cluster. Each entry in this array corresponds to the entry at the same index in the hosts. This array must either be completely empty or have the same number of elements as the hosts. An empty configParams array will result in the new ranks being set with default parameters.
      Parameters:
      configParams - The new value for configParams.
      Returns:
      this to mimic the builder pattern.
    • getOptions

      public Map<String,String> getOptions()
      Optional parameters.
      • DRY_RUN: If TRUE, only validation checks will be performed. No ranks are added. Supported values:The default value is FALSE.
      The default value is an empty Map.
      Returns:
      The current value of options.
    • setOptions

      public AdminAddRanksRequest setOptions(Map<String,String> options)
      Optional parameters.
      • DRY_RUN: If TRUE, only validation checks will be performed. No ranks are added. Supported values:The default value is FALSE.
      The default value is an empty Map.
      Parameters:
      options - The new value for options.
      Returns:
      this to mimic the builder pattern.
    • getSchema

      public org.apache.avro.Schema getSchema()
      This method supports the Avro framework and is not intended to be called directly by the user.
      Specified by:
      getSchema in interface org.apache.avro.generic.GenericContainer
      Returns:
      The schema object describing this class.
    • get

      public Object get(int index)
      This method supports the Avro framework and is not intended to be called directly by the user.
      Specified by:
      get in interface org.apache.avro.generic.IndexedRecord
      Parameters:
      index - the position of the field to get
      Returns:
      value of the field with the given index.
      Throws:
    • put

      public void put(int index, Object value)
      This method supports the Avro framework and is not intended to be called directly by the user.
      Specified by:
      put in interface org.apache.avro.generic.IndexedRecord
      Parameters:
      index - the position of the field to set
      value - the value to set
      Throws:
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object