FAQ-Could not retrieve transation read-only status

问题描述/异常栈

Could not retrieve transation read-only status server

FAQ-Could not retrieve transation read-only status - 图1

发现版本hive2.1.1-0.1.16.2

解决方案

设置mysql wait_timeout 参数
show global variables like '%timeout%';
SET GLOBAL wait_timeout=86400;
此处的单位应该秒。

问题原因

wait_timeout 设置过小,mysql自动丢弃连接,但是程序端没有超时,造成依然在这个被丢弃的连接上执行语句
参照:https://segmentfault.com/a/1190000020125846

作者:林帅