Dam1029
(Dam1029)
2019 年12 月 11 日 02:25
1
为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【TiDB 版本】:V3.0.5
【问题描述】:TiDB设置tidb_skip_isolation_level_check使得重启后仍然有效
请教一下,TiDB如何设置GLOBAL tidb_skip_isolation_level_check,使得TiDB在修改配置或者升级重启后,tidb_skip_isolation_level_check还能够保持设置的值,不用每次重启后都进行
set GLOBAL tidb_skip_isolation_level_check = 1操作。
Dam1029
(Dam1029)
2019 年12 月 11 日 03:56
3
哦,好的。我是调整了tidb.yml和tikv.yml文件,并执行了ansible-playbook rolling_update.yml --tags=tidb和ansible-playbook rolling_update.yml --tags=tikv,然后之前设置的tidb_skip_isolation_level_check就失效了。
Dam1029
(Dam1029)
2019 年12 月 11 日 04:07
4
我在执行ansible-playbook rolling_update_monitor.yml --tags=tidb之前,使用pause-task命令暂停了DM同步任务,在更新滚动重启之后,使用resume-task想恢复原来的任务,但是失败了,报错是subtask error, 执行了几次都没有成功,查了一下tidb.log发现并没有保持,dm-worker.log中有报错,如下:
但是奇怪的是,一段时间没有管它,我再次查看的时候,发现DM任务又成功变成running 了,这个这么回事? 这个情况这周我已经遇到两次了
QBin
(Bin)
2019 年12 月 11 日 06:40
5
不太明白你的意思。tidb_skip_isolation_level_check 参数是通过 SQL:set global tidb_skip_isolation_level_check = 1
设置就可以了。我刚才在 3.0.3 的版本测试过重启是不会丢失的。这个参数不用更新到 tidb.yml 以及 tikv.yml 的。
Dam1029
(Dam1029)
2019 年12 月 11 日 06:44
6
我的意思是我在通过 SQL: set global tidb_skip_isolation_level_check = 1
设置之后, 调整了tidb.yml中的其他的参数做优化,滚动重启后这个设置失效了。我的理解是执行rolling_update.yml之后,tidb相当于是重新部署然后再重启,所以之前的tidb_skip_isolation_level_check配置失效了,如果直接重启应该配置还是在的,不知道我理解的对不对?
QBin
(Bin)
2019 年12 月 11 日 07:40
7
set global tidb_skip_isolation_level_check = 1
会持久化到 TiKV 。应该不会因为 rolling_update 导致的配置丢失。
Dam1029
(Dam1029)
2019 年12 月 11 日 07:42
8
好的,明白了。那关于DM的暂停与恢复问题呢,这个是什么情况?之前有人遇到过这个问题吗?
QBin
(Bin)
2019 年12 月 11 日 11:51
9
麻烦在问题的 DM 日志上面 grep -i 'reset connection failed'
以及 grep -i ' auto resume task'
看下结果 。
Dam1029
(Dam1029)
2019 年12 月 12 日 02:13
10
grep -i ‘reset connection failed’ 没有找到记录,‘auto resume task’ 在日志中能够找到。
小王同学
2019 年12 月 12 日 06:20
14
后面的版本的话,对于这种 bad connection 是会有重试的机制的。后面发现 DM 任务又变成 running 了
system
(system)
关闭
2022 年10 月 31 日 19:05
15
此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。