public class AdminRebalanceRequest extends Object implements org.apache.avro.generic.IndexedRecord
GPUdb.adminRebalance(AdminRebalanceRequest)
.
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 GPUdb.adminOffline(AdminOfflineRequest)
* If GPUdb.adminRebalance(AdminRebalanceRequest)
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 GPUdb.adminRebalance(AdminRebalanceRequest)
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 GPUdb.createJob(CreateJobRequest)
.
Modifier and Type | Class and Description |
---|---|
static class |
AdminRebalanceRequest.Options
Optional parameters.
|
Constructor and Description |
---|
AdminRebalanceRequest()
Constructs an AdminRebalanceRequest object with default parameters.
|
AdminRebalanceRequest(Map<String,String> options)
Constructs an AdminRebalanceRequest object with the specified
parameters.
|
Modifier and Type | Method and Description |
---|---|
boolean |
equals(Object obj) |
Object |
get(int index)
This method supports the Avro framework and is not intended to be called
directly by the user.
|
static org.apache.avro.Schema |
getClassSchema()
This method supports the Avro framework and is not intended to be called
directly by the user.
|
Map<String,String> |
getOptions() |
org.apache.avro.Schema |
getSchema()
This method supports the Avro framework and is not intended to be called
directly by the user.
|
int |
hashCode() |
void |
put(int index,
Object value)
This method supports the Avro framework and is not intended to be called
directly by the user.
|
AdminRebalanceRequest |
setOptions(Map<String,String> options) |
String |
toString() |
public AdminRebalanceRequest()
public AdminRebalanceRequest(Map<String,String> options)
options
- Optional parameters.
REBALANCE_SHARDED_DATA
: If true
, sharded data 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:
The default value is TRUE
.
REBALANCE_UNSHARDED_DATA
: If true
, unsharded
data (a.k.a. randomly-sharded) 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:
The default value is TRUE
.
TABLE_INCLUDES
: Comma-separated list of unsharded table
names to rebalance. Not applicable to sharded tables
because they are always rebalanced. Cannot be used
simultaneously with table_excludes
. This
parameter is ignored if rebalance_unsharded_data
is false
.
TABLE_EXCLUDES
: Comma-separated list of unsharded table
names to not rebalance. Not applicable to sharded tables
because they are always rebalanced. Cannot be used
simultaneously with table_includes
. This
parameter is ignored if rebalance_unsharded_data
is false
.
AGGRESSIVENESS
: Influences how much data is moved at a
time during rebalance. A higher aggressiveness
will complete the rebalance faster. A lower aggressiveness
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'.
COMPACT_AFTER_REBALANCE
: Perform compaction of deleted
records once the rebalance completes to reclaim memory
and disk space. Default is true
, unless repair_incorrectly_sharded_data
is set to true
.
Supported values:
The default value is TRUE
.
COMPACT_ONLY
: If set to true
, ignore rebalance
options and attempt to perform compaction of deleted
records to reclaim memory and disk space without
rebalancing first.
Supported values:
The default value is FALSE
.
REPAIR_INCORRECTLY_SHARDED_DATA
: Scans for any data
sharded incorrectly and re-routes the data to the
correct location. Only necessary if GPUdb.adminVerifyDb(AdminVerifyDbRequest)
reports an error in sharding alignment. This can be done
as part of a typical rebalance after expanding the
cluster or in a standalone fashion when it is believed
that data is sharded incorrectly somewhere in the
cluster. Compaction will not be performed by default
when this is enabled. If this option is set to true
, the time necessary to rebalance and the memory
used by the rebalance may increase.
Supported values:
The default value is FALSE
.
Map
.public static org.apache.avro.Schema getClassSchema()
public Map<String,String> getOptions()
REBALANCE_SHARDED_DATA
: If true
, sharded data 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:
The default value is TRUE
.
REBALANCE_UNSHARDED_DATA
: If true
, unsharded data
(a.k.a. randomly-sharded) 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:
The default value is TRUE
.
TABLE_INCLUDES
: Comma-separated list of unsharded table names
to rebalance. Not applicable to sharded tables because they are
always rebalanced. Cannot be used simultaneously with table_excludes
. This parameter is ignored if rebalance_unsharded_data
is false
.
TABLE_EXCLUDES
: Comma-separated list of unsharded table names
to not rebalance. Not applicable to sharded tables because they
are always rebalanced. Cannot be used simultaneously with table_includes
. This parameter is ignored if rebalance_unsharded_data
is false
.
AGGRESSIVENESS
: Influences how much data is moved at a time
during rebalance. A higher aggressiveness
will complete
the rebalance faster. A lower aggressiveness
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'.
COMPACT_AFTER_REBALANCE
: Perform compaction of deleted records
once the rebalance completes to reclaim memory and disk space.
Default is true
, unless repair_incorrectly_sharded_data
is set to true
.
Supported values:
The default value is TRUE
.
COMPACT_ONLY
: If set to true
, ignore rebalance options
and attempt to perform compaction of deleted records to reclaim
memory and disk space without rebalancing first.
Supported values:
The default value is FALSE
.
REPAIR_INCORRECTLY_SHARDED_DATA
: Scans for any data sharded
incorrectly and re-routes the data to the correct location. Only
necessary if GPUdb.adminVerifyDb(AdminVerifyDbRequest)
reports an
error in sharding alignment. This can be done as part of a
typical rebalance after expanding the cluster or in a standalone
fashion when it is believed that data is sharded incorrectly
somewhere in the cluster. Compaction will not be performed by
default when this is enabled. If this option is set to true
, the time necessary to rebalance and the memory used by
the rebalance may increase.
Supported values:
The default value is FALSE
.
Map
.public AdminRebalanceRequest setOptions(Map<String,String> options)
options
- Optional parameters.
REBALANCE_SHARDED_DATA
: If true
, sharded data 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:
The default value is TRUE
.
REBALANCE_UNSHARDED_DATA
: If true
, unsharded
data (a.k.a. randomly-sharded) 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:
The default value is TRUE
.
TABLE_INCLUDES
: Comma-separated list of unsharded table
names to rebalance. Not applicable to sharded tables
because they are always rebalanced. Cannot be used
simultaneously with table_excludes
. This
parameter is ignored if rebalance_unsharded_data
is false
.
TABLE_EXCLUDES
: Comma-separated list of unsharded table
names to not rebalance. Not applicable to sharded tables
because they are always rebalanced. Cannot be used
simultaneously with table_includes
. This
parameter is ignored if rebalance_unsharded_data
is false
.
AGGRESSIVENESS
: Influences how much data is moved at a
time during rebalance. A higher aggressiveness
will complete the rebalance faster. A lower aggressiveness
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'.
COMPACT_AFTER_REBALANCE
: Perform compaction of deleted
records once the rebalance completes to reclaim memory
and disk space. Default is true
, unless repair_incorrectly_sharded_data
is set to true
.
Supported values:
The default value is TRUE
.
COMPACT_ONLY
: If set to true
, ignore rebalance
options and attempt to perform compaction of deleted
records to reclaim memory and disk space without
rebalancing first.
Supported values:
The default value is FALSE
.
REPAIR_INCORRECTLY_SHARDED_DATA
: Scans for any data
sharded incorrectly and re-routes the data to the
correct location. Only necessary if GPUdb.adminVerifyDb(AdminVerifyDbRequest)
reports an error in sharding alignment. This can be done
as part of a typical rebalance after expanding the
cluster or in a standalone fashion when it is believed
that data is sharded incorrectly somewhere in the
cluster. Compaction will not be performed by default
when this is enabled. If this option is set to true
, the time necessary to rebalance and the memory
used by the rebalance may increase.
Supported values:
The default value is FALSE
.
Map
.this
to mimic the builder pattern.public org.apache.avro.Schema getSchema()
getSchema
in interface org.apache.avro.generic.GenericContainer
public Object get(int index)
get
in interface org.apache.avro.generic.IndexedRecord
index
- the position of the field to getIndexOutOfBoundsException
public void put(int index, Object value)
put
in interface org.apache.avro.generic.IndexedRecord
index
- the position of the field to setvalue
- the value to setIndexOutOfBoundsException
Copyright © 2024. All rights reserved.