UnhealthyTablet如何修复?

【StarRocks版本】例如:2.2.2
在使用sr的backup和restroe做数据迁移过程中,有块磁盘坏了,导致恢复中断,然后就使用了命令SHOW PROC "/statistic"查看副本情况,如下图:


问题1:这些UnhealthyTablet是否会对集群健康或查询产生不良影响?
问题2:如何定位这些UnhealthyTablet所属的表?
问题3:有没有办法修复这些UnhealthyTablet?

你好,unhealthytablet后台会自动修复的,可以通过SHOW PROC "/statistic/66579"查看具体的tablet列表,然后通过show tablet $tablet_id可以查看对应的表

嗯,还想再问一下:
1.这个修复间隔多久做一次?有没有参数控制?
2.能否查询到当前正在进行的修复任务?

建议优化的地方:
目前手动修复的命令是到表级别的:


SHOW PROC "/statistic"显示的结果到库级别,还要通过SHOW PROC "/statistic/dbid"查看库下不健康的tablet,再通过show tablet xx定位到表,最后手动执行修复命令,过程比较繁琐,所以是否可以这样:
1.手动修复命令可以到库,一键修复库下的所有不健康副本。
2.手动修复命令可以到tablet。
3.再增加一个命令如:SHOW PROC "/statistic/detail",显示的粒度到表级别,这样更加直接和简单,不用中间查询好几次其他的表。

1.这个修复间隔多久做一次?有没有参数控制?这个有unhealthy的就会一直会进行修复,fe控制的间隔,tablet_repair_delay_factor_second,默认60s
2.能否查询到当前正在进行的修复任务?SHOW proc '/cluster_balance’中的pending_tablets和running_tablets可以查看正在进行的修复任务

优化这块可以在github上提个issue哈或者可以提pr哈 :sunglasses:

我之前发帖的时候不健康的tablet数量是2962,现在还是2962,感觉没修复一样(是不是要打开什么开关)还是修复失败了呢?
image
通过命令没有发现正在运行的任务。

多个fe吗?在master fe上看下?另外挑个不健康的tablet在对应be.INFO和fe.log中查下对应的日志,看看有没有什么异常

确实这些命令要在fe master上执行,在master上看有正在修复的任务。官网文档也说了。


自己没看仔细 :joy: :joy: :joy:

感谢你的协助。