Hi Junkai,
I've added cluster init code to the gist [1]. Apart from that,
ClusterConfig is configured like this;
ClusterConfig clusterConfig =
configAccessor.getClusterConfig(CLUSTER_NAME);
// Configuring the capacity keys in the Cluster Config. For
example, MEMORY.
clusterConfig.setInstanceCapacityKeys(INSTANCE_CAPACITY_KEYS);
// Configuring the instance capacity in the Instance Config.
For example, MEMORY = 100.
clusterConfig.setDefaultInstanceCapacityMap(INSTANCE_CAPACITY);
// Configuring the partition weight in the Resource Config. For
example, MEMORY = 5.
clusterConfig.setDefaultPartitionWeightMap(DEFAULT_RESOURCE_USAGE);
configAccessor.setClusterConfig(CLUSTER_NAME, clusterConfig);
[1]
https://gist.github.com/grainier/aa1c0b279ea99f88d74c1e94d79f5cdb#file-clustersetup-java
Thanks,
Grainier Perera.
On Sat, 18 Jun 2022 at 10:00, Junkai Xue <[email protected]> wrote:
> Could you please share your cluster config as well?
>
> Best,
>
> Junkai
>
> On Fri, Jun 17, 2022 at 8:24 PM Grainier Perera <[email protected]>
> wrote:
>
>> Hi Devs,
>>
>> I'm trying to add several resources to the cluster using the following
>> configurations[1]. However, only some will become `ONLINE`. What could be
>> the reason? Is there a way to guarantee every resource will become `ONLINE`
>> if WAGED capacity constraints are met?
>>
>> You can see with the same IdealState, "_mm:root:_system:cron3" has
>> mapFields and it is ONLINE, and "_mm:root:_system:cron2" is not.
>> Furthermore, I see this behavior more often when the replicas count is set
>> to 1.
>>
>> ResourceInfo:
>> 1. "_mm:root:_system:cron2"
>>
>> IdealState for _mm:root:_system:cron2:
>> {
>> "id" : "_mm:root:_system:cron2",
>> "simpleFields" : {
>> "DELAY_REBALANCE_ENABLED" : "true",
>> "IDEAL_STATE_MODE" : "AUTO_REBALANCE",
>> "MAX_PARTITIONS_PER_INSTANCE" : "1",
>> "NUM_PARTITIONS" : "1",
>> "REBALANCER_CLASS_NAME" :
>> "org.apache.helix.controller.rebalancer.waged.WagedRebalancer",
>> "REBALANCE_DELAY" : "10000",
>> "REBALANCE_MODE" : "FULL_AUTO",
>> "REPLICAS" : "1",
>> "STATE_MODEL_DEF_REF" : "C8CEPStateModel"
>> },
>> "mapFields" : {
>> "_mm:root:_system:cron2_0" : { }
>> },
>> "listFields" : {
>> "_mm:root:_system:cron2_0" : [ ]
>> }
>> }
>>
>>
>> ExternalView for _mm:root:_system:cron2:
>> {
>> "id" : "_mm:root:_system:cron2",
>> "simpleFields" : {
>> "BUCKET_SIZE" : "0",
>> "DELAY_REBALANCE_ENABLED" : "true",
>> "IDEAL_STATE_MODE" : "AUTO_REBALANCE",
>> "MAX_PARTITIONS_PER_INSTANCE" : "1",
>> "NUM_PARTITIONS" : "1",
>> "REBALANCER_CLASS_NAME" :
>> "org.apache.helix.controller.rebalancer.waged.WagedRebalancer",
>> "REBALANCE_DELAY" : "10000",
>> "REBALANCE_MODE" : "FULL_AUTO",
>> "REPLICAS" : "1",
>> "STATE_MODEL_DEF_REF" : "C8CEPStateModel"
>> },
>> *"mapFields" : { },*
>> "listFields" : { }
>> }
>>
>>
>> 2. "_mm:root:_system:cron3"
>>
>> IdealState for _mm:root:_system:cron3:
>> {
>> "id" : "_mm:root:_system:cron3",
>> "simpleFields" : {
>> "DELAY_REBALANCE_ENABLED" : "true",
>> "IDEAL_STATE_MODE" : "AUTO_REBALANCE",
>> "MAX_PARTITIONS_PER_INSTANCE" : "1",
>> "NUM_PARTITIONS" : "1",
>> "REBALANCER_CLASS_NAME" :
>> "org.apache.helix.controller.rebalancer.waged.WagedRebalancer",
>> "REBALANCE_DELAY" : "10000",
>> "REBALANCE_MODE" : "FULL_AUTO",
>> "REPLICAS" : "1",
>> "STATE_MODEL_DEF_REF" : "C8CEPStateModel"
>> },
>> "mapFields" : {
>> "_mm:root:_system:cron3_0" : { }
>> },
>> "listFields" : {
>> "_mm:root:_system:cron3_0" : [ ]
>> }
>> }
>>
>>
>> ExternalView for _mm:root:_system:cron3:
>> {
>> "id" : "_mm:root:_system:cron3",
>> "simpleFields" : {
>> "BUCKET_SIZE" : "0",
>> "DELAY_REBALANCE_ENABLED" : "true",
>> "IDEAL_STATE_MODE" : "AUTO_REBALANCE",
>> "MAX_PARTITIONS_PER_INSTANCE" : "1",
>> "NUM_PARTITIONS" : "1",
>> "REBALANCER_CLASS_NAME" :
>> "org.apache.helix.controller.rebalancer.waged.WagedRebalancer",
>> "REBALANCE_DELAY" : "10000",
>> "REBALANCE_MODE" : "FULL_AUTO",
>> "REPLICAS" : "1",
>> "STATE_MODEL_DEF_REF" : "C8CEPStateModel"
>> },
>> *"mapFields" : {*
>> * "_mm:root:_system:cron3_0" : {*
>> * "c8cep-0.c8cep.c8.svc.cluster.local_12000" : "ONLINE"*
>> * }*
>> * },*
>> "listFields" : { }
>> }
>>
>>
>> [1]: https://gist.github.com/grainier/aa1c0b279ea99f88d74c1e94d79f5cdb
>>
>> Thank you.
>> Grainier Perera.
>>
>