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

Reply via email to