大表,高频写入,为何会发生修复,看着很正常

Viewed 96

SHOW PROC '/cluster_balance/running_tablets';

13934438,REPAIR,HDD,VERSION_INCOMPLETE,RUNNING,NONE,NORMAL,10003,-9028051630890738940,10004,6251436148766679450,449000,2024-10-15 13:31:01,2024-10-15 13:31:03,2024-10-15 13:31:03,null,449.911 MB,null,0,0,1199629,1199629,

image.png
每个tablet都是健康的

执行了curl -X POST http://127.0.0.1:8040/api/check_tablet_segment_lost?repair=false
image.png

1 Answers

这个不只是修复,是集群之间be和磁盘间的均衡。

补充: 这里可能有延迟的情况,有可能发生这样的一个情况, 高频导入时,be 端tablet 暂时没publish version 或者卡了, 然后它上报fe version missing, fe 给它生成一个clone task, 这个task 可能正在running(比如它触发了全量拷贝,时间就一点)。但是紧接着,be publish 之前的事务ok了, 它的version publish 补全了, 它在tablet report 时, 会告诉 fe 它自己是version complete了。 这个时候再去show tablet health, 就所有都health 了

tablet 的最新状态,以 show proc "/cluster_health/tablet_health" 的为准,它是最新的。 running的任务有可能是早前的