使用tikv-rust的客户端执行并发写操作,频繁报错

【 TiDB 使用环境】
CPU:amd5900x
内存:32G
存储:nvme
操作系统:Debian11

【 Tikv 部署配置】
集群节点数量: 1
pd数量:1
tikv数量:1
集群版本:5.0~5.4
部署工具:tiup

【 Tikv客户端】
tikv-rust-client

【 测试目的】
并发性能测试

【 测试步骤】

  1. 多线程,每个线程分别执行串行set操作 (每个线程执行次数以万为单位)
  2. set的key长度为40个字节,value为200个字节

【测试问题】

  1. 单线程情况下,没有问题
  2. 4个线程情况下,程序必然报错

【错误信息】
RegionError(Error { message: “EpochNotMatch current epoch of region 6 is conf_ver: 1 version: 4, but you sent conf_ver: 1 version: 3”, not_leader: None, region_not_found: None, key_not_in_region: None, epoch_not_match

测试代码 test-tikv.tar.gz (1.5 KB)

我想我知道怎么怎么回事了, 得判断请求的失败原因, 如果因为region分裂,需要再处理