一个关于Cobar 的释疑
在测试Cobar的过程中发现了一个问题,就是当一个session执行了lock table xxx write后,其他session包括该session都查询不了其他表了,直到有一个session执行了unlock tables;简例如下:
session1:
mysql> create table t (id int primary key)engine=innodb;
Query OK, 0 rows affected (0.08 sec)
session2:
lock table t write;
session1:
mysql> select * from sbtest limit 1;
ERROR 1100 (HY000): Table 'sbtest' was not locked with LOCK TABLES
session2:
unlock tables or quit;
session1:
can select other tables;
但是不同的session却可以保证事务的隔离性,这是为什么呢?其实答案就在这句话里;
默认情况下MySQL的autocommit=1,并且使用Cobar默认情况是初始化一个共享后端连接;
当一个session执行lock table write返回后,这个后端连接会被释放到连接池里(MySQLChannel)等待被重用,这时如果再有其他session执行查询的话拿到的连接其实是lock tablewrite的状态,所以才有上面的那个现象;
要work around也很简单,就是在执行lock tablewrite之前执行setautocommit=0,这样这个连接不会释放回去直到提交;
转载于:https://blog.51cto.com/boylook/1298646
一个关于Cobar 的释疑相关推荐
- 记一次使用Cobar踩到的坑
起因 起因是因为日志里经常报出锁等待超时的错误,并且这个是环环相扣的,一个锁等待会直接引发另外的锁等待,所以危害非常严重,影响非常深远.寻找原因发现是C3P0报出了DEADLOCK,如下图所示: 分析 ...
- Cobar的使用与心得(持续更新)
关于淘宝Cobar中间件使用中一些问题总结,会在使用中不断完善该文档 1.LOAD DATA LOCAL FILE ...不支持 mysql> load data local infile &q ...
- Scala在挖财的应用实践
编者按:本文是根据ArchSummit大会上挖财资深架构师王宏江的演讲<Scala在挖财的应用实践>整理而成. \\\\ 这次分享有三个方面,一是介绍一下挖财当前的开发情况和后端的架构, ...
- 淘宝网架构分享总结[转]
http://www.cnblogs.com/zhwl/p/3640883.html 上周六参加了一场由淘宝的架构师,曾宪杰先生主讲的淘宝网架构分享.然后马上就出差了,一直没来得及总结,今晚比较有空, ...
- java---解惑--
Java谜题1--表达式谜题 谜题1:奇数性 下面的方法意图确定它那唯一的参数是否是一个奇数.这个方法能够正确运转吗? public static boolean isOdd(int i){ ret ...
- [日常] 面试知识点总结(持续更新)
数据结构和算法:物理结构和逻辑结构1.逻辑结构(集合结构,线性结构,树形结构,图形结构)2.物理结构一般是讲内存,顺序存储结构,链式存储结构浅谈算法中,高斯算法从1加到100,循环的话是100次,高斯 ...
- 堆栈计算机的原理和实现
堆栈计算机的原理和实现 原书< Stack Computers: the new wave > (原书封面) 原作者 Philip J. Koopman, Jr. 编译者 赵宇 张文翠 这 ...
- Python3 OpenCV4 计算机视觉学习手册:6~11
原文:Learning OpenCV 4 Computer Vision with Python 3 协议:CC BY-NC-SA 4.0 译者:飞龙 本文来自[ApacheCN 计算机视觉 译文集] ...
- 【题库】计算机二级选择题
一.公共基础知识 考10分 二.计算机基础 考4分 三.Office操作 考6分 一.公共基础知识 考10分 1.下列叙述中正确的是 A)所谓算法就是计算方法 B)程序可以作为算法的一种描述方法 C) ...
最新文章
- 用 Scikit-Learn 和 Pandas 学习线性回归
- iOS之深入解析CFRunloop的多线程隐患
- python官网网址是什么意思_大家都是怎么部署python网站的?
- mp3播放程序c语言,Go语言音乐播放器
- 不会装系统?有这篇就够了!
- postman-SSL证书问题-支持HTTPS请求
- vue提交mutation_为什么Vuex中必须要通过commit提交mutation?
- Jzoj3883 线段树
- 三角形外接圆圆心公式
- mdf文件修复工具 专业修复sql server数据库
- IPv6实验5:IPv4到IPv6的过渡
- 个税计算器python代码_用python写一个北京市的个税计算器
- eclipse将安卓项目commit至github本地仓库后,项目bin文件夹下不生成apk且运行报错
- KBEngine warring项目源码阅读(三) 实体文件与Account处理
- 惠民工程(2013中南大学研究生复试[最小生成树])
- select语句的逻辑执行顺序,你知道吗?
- 对php的感受100字_团建活动后的感想50字-100字《5篇》
- sae 本地 php,如何在 SAE 下操作本地IO
- 二极管的钳位和限幅比较
- 乘法逆元 +数论分块 +平方和公式
热门文章
- msyql开启慢查询以及分析慢查询
- A3D8的水–WaterMaterial for Alternativa3D 8
- 给大家展示一下最近在Yeslab安全实验室测试的设备!
- golang-context
- 常见的垃圾回收器算法有哪些,各有什么优劣?
- 基于日志的交换机故障预测
- RabbitMq(二) Connection、Channels、Exchanges、Queues 等基本概念介绍
- jsch上传下载文件名称中文乱码
- 集合练习。学生信息包括学号、姓名、出生日期、性别。把N个学生的信息放入一个集合中。可以根据学号,对学生信息进行检索。并可以根据生日进行排序输出。
- 一文看尽 JVM GC 调优