GBase 8a在V95版本里的扩容和节点替换都是通过rebanalce重分布来实现的。在发起任务时,会将所有需要参与重分布的表都要插入到gclusterdb.rebalancing_status里。但某些情况下,比如表被删除了,则任务表的行数会减少的。
目录导航
现象
客户反馈,昨天的重分布进度如下
今天的进度如下
其中等待STARTING任务从3255降低到了3251;完成COMPLETED数量,从563个,降低到了560个。
从等待任务看,只有做了重分布,才会减少,所以这1天确实少了4个(3255-3251),但完成数量应该增加4个,为了反倒少了3(560-563)个呢?
原因
当重分布任务,从等待STARTING状态,进入运行RUNNING状态时,如果涉及的表已经不存在,比如被DROP掉了,则会删掉这个任务。如下是删除了等待中的testdb.tencrypt表。
同样,对于已经COMPLETE的任务,如果删掉了表,则也会删除这个任务表。如下是删掉了已经完成的testdb.t2表。
所以,从现象看,这期间有4张表参与了重分布,但最终删掉了7张表,导致总数量反倒少了3个。