修改租户规格大小的后台逻辑是什么

【 使用环境 】生产环境 or 测试环境
【 OB or 其他组件 】
【 使用版本 】
【问题描述】 假如我当前集群的分配率已经接近满了(例如CPU总共40C,目前已经分配了39C,剩余1C),我想调整其中一个租户的规格,从10C降低到2C,我是否会成功哪?
主要是想知道调整规格,现有的资源是怎么创建出来?

可以通过内部表 oceanbase.GV$OB_SERVERS 来查询节点总资源和已经分配的资源,调整后的资源不超过资源限制即可
Sum(min_cpu) <= CPU_CAPACITY;
Sum(max_cpu) <= CPU_CAPACITY * resource_hard_limit;
Sum(memory_size) <= MEM_CAPACITY;
Sum(log_disk_size) <= LOG_DISK_CAPACITY;

我是想知道调整过程中的问题。
比如我现在分配只剩1C,我要把其中一个租户10C降低到2C,OB是先为我创建2C的资源池(如果先创建,我就资源不够),还是释放出一部分内存后,再创建2C的资源?再这块还有哪些限制吗?例如memstore当前如果已经超过了2C,又怎么办哪?

修改资源单元配置是调整资源单元配置中的 CPU、Memory 等的值,调整的是已创建资源单元的约束限制,并不是新建一个替换掉原来的。

那如果当前使用的memtable超过修改后的内存值会报错吗?还是自动触发转储哪?

进行租户缩容前,建议进行一轮转储以便释放租户正在使用的内存,需要手动触发,可以参考https://www.oceanbase.com/docs/community-observer-cn-10000000000901760