Skip to main content

◆ adminRebalance() [1/4]

AdminRebalanceResponse gpudb::GPUdb::adminRebalance (const AdminRebalanceRequest &request_) const

Rebalance the data in the cluster so that all nodes contain an equal number of records approximately and/or rebalance the shards to be equally distributed (as much as possible) across all the ranks.

The database must be offline for this operation, see adminOffline

  • If adminRebalance is invoked after a change is made to the cluster, e.g., a host was added or removed, sharded data will be evenly redistributed across the cluster by number of shards per rank while unsharded data will be redistributed across the cluster by data size per rank
  • If adminRebalance is invoked at some point when unsharded data (a.k.a. randomly-sharded) in the cluster is unevenly distributed over time, sharded data will not move while unsharded data will be redistributed across the cluster by data size per rank

NOTE: Replicated data will not move as a result of this call

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 createJob.

Parameters
[in]request_Request object containing the parameters for the operation.
Returns
Response object containing the result of the operation.

◆ adminRebalance() [2/4]

AdminRebalanceResponse & gpudb::GPUdb::adminRebalance (const AdminRebalanceRequest &request_,
AdminRebalanceResponse &response_ ) const

Rebalance the data in the cluster so that all nodes contain an equal number of records approximately and/or rebalance the shards to be equally distributed (as much as possible) across all the ranks.

The database must be offline for this operation, see adminOffline

  • If adminRebalance is invoked after a change is made to the cluster, e.g., a host was added or removed, sharded data will be evenly redistributed across the cluster by number of shards per rank while unsharded data will be redistributed across the cluster by data size per rank
  • If adminRebalance is invoked at some point when unsharded data (a.k.a. randomly-sharded) in the cluster is unevenly distributed over time, sharded data will not move while unsharded data will be redistributed across the cluster by data size per rank

NOTE: Replicated data will not move as a result of this call

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 createJob.

Parameters
[in]request_Request object containing the parameters for the operation.
[out]response_Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).

◆ adminRebalance() [3/4]

AdminRebalanceResponse gpudb::GPUdb::adminRebalance (const std::map< std::string, std::string > &options) const

Rebalance the data in the cluster so that all nodes contain an equal number of records approximately and/or rebalance the shards to be equally distributed (as much as possible) across all the ranks.

The database must be offline for this operation, see adminOffline

  • If adminRebalance is invoked after a change is made to the cluster, e.g., a host was added or removed, sharded data will be evenly redistributed across the cluster by number of shards per rank while unsharded data will be redistributed across the cluster by data size per rank
  • If adminRebalance is invoked at some point when unsharded data (a.k.a. randomly-sharded) in the cluster is unevenly distributed over time, sharded data will not move while unsharded data will be redistributed across the cluster by data size per rank

NOTE: Replicated data will not move as a result of this call

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 createJob.

Parameters
[in]optionsOptional parameters.The default value is an empty map.
Returns
Response object containing the result of the operation.

◆ adminRebalance() [4/4]

AdminRebalanceResponse & gpudb::GPUdb::adminRebalance (const std::map< std::string, std::string > &options,
AdminRebalanceResponse &response_ ) const

Rebalance the data in the cluster so that all nodes contain an equal number of records approximately and/or rebalance the shards to be equally distributed (as much as possible) across all the ranks.

The database must be offline for this operation, see adminOffline

  • If adminRebalance is invoked after a change is made to the cluster, e.g., a host was added or removed, sharded data will be evenly redistributed across the cluster by number of shards per rank while unsharded data will be redistributed across the cluster by data size per rank
  • If adminRebalance is invoked at some point when unsharded data (a.k.a. randomly-sharded) in the cluster is unevenly distributed over time, sharded data will not move while unsharded data will be redistributed across the cluster by data size per rank

NOTE: Replicated data will not move as a result of this call

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 createJob.

Parameters
[in]optionsOptional parameters.The default value is an empty map.
[out]response_Response object containing the results of the operation.
Returns
Response object containing the result of the operation (initially passed in by reference).