京东购物网站怎么做,123邢台招聘信息网,茂名网站建设系统,网络推广合作资源平台本文介绍如何排查 server 断连接问题。
断开连接的常见原因 协议层异常 发送报文时遇到发生一些非预期的错误#xff0c;server 将会发生主动断开连接。 事务异常 包括 rollback 失败或 commit 失败。 Query 异常 已输出行数据#xff0c;但 server 内部发生错误。 Proce…本文介绍如何排查 server 断连接问题。
断开连接的常见原因 协议层异常 发送报文时遇到发生一些非预期的错误server 将会发生主动断开连接。 事务异常 包括 rollback 失败或 commit 失败。 Query 异常 已输出行数据但 server 内部发生错误。 Processor 发生异常 获取 processor 为空。 处理 processor 发生异常。初始化变量时发生异常。 session is killed。 删除租户 比如在删除租户后如果 proxy 错误地路由请求到本机导致 query 发现 session is killed导致断连接。 杀事务。 主动 kill session。
断开连接的排查步骤 使用断开连接的 conn id 找到客户端OBProxy、Connector/JDBC、OBCI连接到服务器的 sess_id也可能称为 thread_id。 在服务器日志中使用 sess_id 搜索与断开连接相关的 observer 日志信息。 grep kill and revert session observer.log* | grep sess_id使用日志中的 trace_id 搜索 observer 日志找到报告错误代码 -5066 的开始位置以确定断开连接的原因。 grep trace_id observer.log*如果原因为上述异常情况保存日志信息、环境信息和 trace_id 并联系 OceanBase 技术支持协助处理。
如何查找 conn_id
当 Query 异常时通常会报出 -5066 错误码在 observer 日志中可以根据 trace_id 来查找。
日志信息如下。
observer.log.20230705172820016:[2023-07-05 17:26:35.988048] WDIAG [SQL] stmt_query (ob_sql.cpp:210) [61238][T1004_L0_G0][T1004][xxxxx-xxxxx-xxxxx-xxxxx] [lt9][errcode-5066] fail to handle text query(stmtINSERT INTO test VALUES (SLEEP(1)), ret-5066)这里表示 session interrupt。随后搜索 connection close 来找到 sessid如以下示例日志中的信息。
observer.log.20230705172820016:[2023-07-05 17:26:36.091289] INFO [RPC.OBMYSQL] destroy (obsm_conn_callback.cpp:223) [52261][sql_nio1][T0][Y0-0000000000000000-0-0] [lt27] connection close(sessid3221585899, ...)在这个示例中3221585899 即为 conn id 值。
适用版本
OceanBase 数据库所有版本。 附录
OceanBase 敏捷诊断工具(OceanBase Diagnostic Tool, 简称obdiag) 是一款源代码开源敏捷黑屏诊断工具可以对OceanBase集群进行一键集群巡检、一键分析、一键根因分析以及一键诊断信息收集。
obdiag 下载地址 OceanBase分布式数据库-海量数据 笔笔算数obdiag 官方文档 OceanBase分布式数据库-海量数据 笔笔算数obdiag github地址GitHub - oceanbase/obdiag: obdiag (OceanBase Diagnostic Tool) is designed to help OceanBase users quickly gather necessary information and analyze the root cause of the problem.obdiag 开发者营地诊断工具 · OceanBase 技术交流