obloader 导入连接异常 Connection reset

【 使用环境 】
测试环境
【 OB or 其他组件 】
observer 4.3.1.0
obproxy 4.2.3.0-3
导数工具 -4.3.0-RELEASE
【问题描述】清晰明确描述问题

obloader 导入表数据到测试环境失败,
[ERROR] Other Error: java.sql.SQLException: java.sql.SQLNonTransientConnectionException: (conn=2097174) Connection reset

还有其他报错日志么麻烦再发全一些,执行命令也发出来一下

日志已放附件
obloader.log (43.5 KB)

obloader.log (43.5 KB)

导数 命令:
/usr/local/ob-loader-dumper-4.3.0-RELEASE/bin/obloader -uroot -p’xxxxx’
-hxxxxxx -P2883 --no-sys -t yzb -c xxxx -D “xxxx” --sql --table “xxxxx” -f “xxxx”

可以检查下导数期间 odp 的日志,是否有出现异常或重启

查询与导数工具报错时间点ODP吻合的 WARN 或 ERROR 日志,然后确认服务端断连的具体原因。如无日志,则可能是 ODP 由于某些故障发生了重启。

目前就这张表用2883端口出现这个异常,采用直连2881 导入是成功的
其他表导入数据采用2883端口导入是成功的

这个导入时间很长么?表的数据量很大么?

很小,5万多条数据,

你按照我楼上说的 吻合你导的时间点 你看一下odp的日志

connection_reset_20240704.log (44.4 KB)
麻烦看下odp 日志 这个问题是稳定复现的
table_ddl.txt (1.2 KB)

看日志信息是obloader通过obproxy导入数据库大于16M报错
可能原因

连接obproxy加载默认走的是PS协议,有个不支持解析超过16M包的限制。

解决方案

有3个解决办法:

  1. 直连OBServer导数。

  2. 代理连接OBProxy时,关闭PS协议,在OBLoader的安装目录下的conf/session.config.json 里面的 “useServerPrepStmts”: true 改为 “useServerPrepStmts”: false。

  3. 不使用OBLoader,连接数据库使用source方式。

1 个赞