重建__all_virtual_obrpc_stat ,或者清空__all_virtual_obrpc_stat 的数据,如何操作

请教一下:
重建__all_virtual_obrpc_stat ,
或者清空__all_virtual_obrpc_stat 的数据,如何操作
版本3.2.3

你的实际需求是什么?这是一张虚拟表,只记录ObServer运行时的一些状态,不落盘,你不查它的时候也不占用内存。
它的实现

|[query_begin] u=1 trace_id:YB42C0A81E35-0005F0B62F2713E5-0-0|[before_processor_run] u=6 |[session] u=4 sid:3221641597, tenant_id:1|[parse_begin] u=20 stmt:“select /*+ trace_log=on / from oceanbase.__all_virtual_obrpc_stat LIMIT 0, 1000”, stmt_len:82
[2023-01-09 15:16:40.853390] WARN [COMMON] get_next_row (ob_virtual_table_iterator.cpp:369) [14655][0][YB42C0A81E35-0005F0B62F2713E5-0-0] [lt=25] [dc=0] succ to inner get next row, but row is NULL(ret=-4016)
[2023-01-09 15:16:40.853434] WARN [SQL.ENG] inner_get_next_row (ob_limit_op.cpp:163) [14655][0][YB42C0A81E35-0005F0B62F2713E5-0-0] [lt=4] [dc=0] child_op failed to get next row(ret=-4016, limit=1000, offset=0, input_cnt=0, output_cnt=574)
我这里是个内部系统,每次只能黏贴30多个字符,这是日志,你凑合看一下,该怎么解决查询oceanbase.__all_virtual_obrpc_stat 异常的问题。

查询结果有异常吗?还是只是有WARN日志?

没有结果呀,
返回
Error Code: 4016
Internal error

succ to inner get next row, but row is NULL(ret=-4016)获取下一行,但行为null
output_cnt=574) 输出574行
575行上出现的错误

这里确实有个问题,我们修一下。

我这里可以用什么办法,临时解决一下呢?

业务为啥会依赖这张表呢?

我们内部发现的问题与locality变更以及删租户有关,如果是相同的问题,轮转重启集群里的所有server就可以解决,但后面不要删租户以及做locality变更了,否则会继续出现。

1 个赞

好的,谢谢!