TiKV新用户
(Ti D Ber Aigw S Af P)
1
【 TiDB 使用环境】测试环境
【 TiDB 版本】v5.4.2
【遇到的问题】 使用tikv-rust-client访问tikv的集群读写数据,使用事务接口,时不时会出现一段时间超时
【复现路径】做过哪些操作出现的问题
就是读写tikv
【问题现象及影响】
一段时间会出现发到tikv的请求报gRPC error: RpcFailure: 4-DEADLINE_EXCEEDED Deadline Exceeded
【附件】
请提供各个组件的 version 信息,如 cdc/tikv,可通过执行 cdc version/tikv-server --version 获取。
tikv v5.4.2
tikv集群有3个tikv节点和3个pd节点,没有tidb节点,没有监控
机器配置是8c16g,tikv配置了resource_control.memory_limit 为8g
请问在这种超时可能的原因是什么?是rust-client的问题还是集群的问题?在没有tidb的情况下,是否需要client主动去调用gc的接口?
xfworld
(魔幻之翼)
3
事务有默认的最大时限的,在时间范围内未完成操作,就会被Client 处理为 Deadline 了
建议调整
- 读写的范围,减少事务的处理时间
- 调整事务的最大的时长,可能会导致其他的问题(比如内存溢出)
TiKV新用户
(Ti D Ber Aigw S Af P)
4
谢谢回复
我调整了grpc的超时时间为3s,会存在请求3s不能处理完吗?
另外请问,在没有TiDB实例的情况下,PD会主动调用TiKV的GC吗?还是说需要我通过tikv的client主动调用GC?
近墨者zyl
5
gc是tidb发起的,tikv执行,跟pd没关系,pd与mvcc机制没有一点关系。
xfworld
(魔幻之翼)
7
请求是否能处理完,需要参考数据的处理方式和量级了,这个只能你自己把控了
没有TiDB 的节点实例,默认是不会发起GC 的,最简单的方式追加这样一个节点,就行了
system
(system)
关闭
9
此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。