问题描述

问题描述/异常栈

连接OceanBase数据库查询超时
java.sql.SQLException: Timeout

FAQ-数据传输 OceanBase 到hive 查询超时 - 图1 解决方案

在数据源登记的时候jdbc 串加上如下,单位微秒: &sessionVariables=ob_query_timeout=60000000000,ob_trx_timeout=60000000000
示例:
jdbc:mysql://xxxxxx.com:3306/xxxxxxx&sessionVariables=ob_query_timeout=60000000000,ob_trx_timeout=60000000000&xxxx

问题原因

OceanBase 中对查询和事务超时做了默认配置,方便用户针对不同业务场景进行调整。 关于超时时间的设置,OceanBase 中有如下三个变量可以调整,您可以直接使用 show variables like '%timeout%' 的命令进行查看:
ob_query_timeout:用于设置 SQL 最大执行时间,单位 us, 默认值为 10s
ob_trx_timeout:事务超时时间,单位 us,默认值 86400s
ob_trx_idle_timeout:事务空闲超时时间,单位 us,默认值 86400s

作者:qianzhaoyuan