使用go client测试tikv接口遇到相关配置未启用的问题

【 TiDB 使用环境】测试
【 TiDB 版本】v8.1.0
【复现路径】使用go client测试tikv接口
【遇到的问题:问题现象及影响】
使用go测试tikv的接口,putWithTTL 和 CompareAndSwap 时遇到了 ttl is not enabled 和 using CompareAndSwap without enable atomic mode 的问题,但是查看tikv的配置文件没有找到相关的参数,例如 enable_atomic = true 和 enable_atomic = true,请问应该在哪里配置呢
【资源配置】进入到 TiDB Dashboard -集群信息 (Cluster Info) -主机(Hosts) 截图此页面
【附件:截图/日志/监控】

1.编辑集群配置;
server_configs:
tikv:
storage:
enable_ttl: true
enable_atomic_for_cas: true
2.reload 集群配置

注意有缩进的空格,编辑的时候写了空格,到评论出去就没了 :joy:

请问这里的集群配置是指tidb-cluster.yaml吗,我在tidb-cluster.yaml的tikv部分加了这两条再apply会报错
image


是不是我加的不对

加的地方不对,要加在 server_configs 这个标签下面

你这好像是 K8 部署的,应该是类似这样修改:

#假设集群名称为tidb-cluster
kubectl -n tidb edit tidbcluster tidb-cluster

#在 spec.tikv.config 下添加
spec:
tikv:
config:
storage:
enable-ttl: true
enable_atomic_for_cas: true

#检查新增配置生效
kubectl -n tidb exec -it – cat /etc/tikv/config.toml

我在这里添加了,保存后并没有报错,但是再次进入编辑模式看就又恢复原样了
这张图是我修改的方式,没有报错
image
image
这张是我检查配置是否生效的图,有报错,我是指定的tikv这个pod


这张图是再次进入编辑配置,可以看到config这里恢复原样了,我添加的配置消失了
image

Q:这张是我检查配置是否生效的图,有报错,我是指定的tikv这个pod
A:这个 /etc/tikv/config.toml要根据你的实际部署情况的调整

:thinking:试下 chatgpt 的方法 :joy:

kubectl edit tc [TidbClusterName] -n [Namespace]

找到或创建 spec.tidb.config.experimental 配置项,并添加 enable-ttl 配置:
spec:
tidb:
config:
experimental:
enable-ttl: true
保存文件后,Kubernetes 会自动更新 TiDB 集群配置。TiDB Operator 将重新应用更新的配置。

登录到 TiDB 实例并检查 enable-ttl 是否已生效:
kubectl exec -it -n – mysql -u root -h 127.0.0.1
SHOW VARIABLES LIKE ‘tidb_enable_ttl’;

官网有一些开启现有集群开启 ttl 的 warning ,也可以看下: