【Postgres-XL】Read Committed隔离级别的复制分布表加锁实验

声明

  • meta_data表的分布规则是复制分布
  • 查看锁的SQL
SELECT
	locktype,
	relation :: regclass AS rel,
	page || ',' || tuple AS ctid,
	virtualxid AS vxid,
	transactionid AS xid,
	virtualtransaction AS vxid2,
	pid,
	MODE,
GRANTED 
FROM
	pg_locks;

复制分布表加锁实验

T1T2
beginbegin
select * from meta_data where id=‘wh_test1’ for UPDATE; (正常获取数据)select * from meta_data where id=‘wh_test1’ for UPDATE;(正常获取数据,本应该阻塞)
EXPLAIN ANALYZE UPDATE meta_data set “timestamp”=‘2020-01-09 20:20:20.529’ where id=‘wh_test1’;(阻塞)
上面的update成功rollback
rollback

发现coordinator分配任务是远程在不同的datanode执行的,那么锁加在了不同的postgresql里,所以不能阻塞。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

非复制分布表加锁实验

T1T2
beginbegin
EXPLAIN ANALYZE select * from wfs_test where id=‘3080417’ for UPDATE; (正常获取数据)EXPLAIN ANALYZE select * from wfs_test where id=‘3080417’ for UPDATE; (阻塞)
rollbackselect成功
" "rollback

和以前的认知一样,正常地阻塞住了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值