AndyHoo
(AndyHoo)
1
为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
- 【TiDB 版本】:v3.0.8
- 【问题描述】:
tidb v3.0.1滚动升级到tidb v3.0.8,v3.0.8默认是已经开启悲观锁的,但是在测试的过程中发现貌似锁不住
事务1:
①begin;
②select * from student_info where id =3 for update;
③commit;
事务2:
①begin;
②update student_info set name = 'omni' where id = 3;
③commit;
执行顺序:
事务1 ①②执行完后,开始执行事务2 ①②,正常情况下执行到事务2中的②时,就应该锁住等待的,但是实际情况是两个事务执行到③的时候,后执行commit的才会报错
AndyHoo
(AndyHoo)
3
如果我需要升级后默认开启呢,需要怎么弄呢?因为之前有个default:true后,默认就是悲观锁的
AndyHoo
(AndyHoo)
4
我在v3.0.1中是有开悲观锁的,升级完后
show variables like ‘tidb_config’;
显示
"pessimistic-txn": {
"enable": true,
"max-retry-count": 256
},
这个显示是有开启悲观锁的,但是表现出来的结果确是乐观锁,
我执行完
set @@tidb_txn_mode = ‘pessimistic’;
后,才表现出悲观锁的特性
system
(system)
关闭
7
此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。