社区版ob(5.7.25-OceanBase_CE-v4.2.1.4),抽数报错.

我们用开源版datax抽取社区版ob(5.7.25-OceanBase_CE-v4.2.1.4),有时能成功,有时抽数快完成了,报错误.错误信息如下.
jdbc4.CommunicationsException:Application was streaming results when the connection failed. Consider raising value of ‘net_write_timeout’ on the server.

我使用的是mysqlreader,驱动包是mysql-connector-java-5.1.47.jar,在jdbc连接中指定了net_write_timeout该值后,依然报错.
jdbc:mysql://bg-xxxx-xx.db:4883/db_name?sessionVariables=ob_read_consistency=WEAK,ob_query_timeout=172800000000,ob_trx_timeout=172800000000,net_write_timeout=72000

1 个赞

你dataX选择的reader是什么。。我一般选 oceanbasev10reader 没遇见过这样的问题

1 个赞

我用的是mysqlreader

1 个赞

再确定下,你是从OB抽取到其他地方是吧,如果是这样选oceanbasev10reader 试下?

1 个赞

生产上由于历史原因,暂不支持oceanbasev10reader.历史包袱.

1 个赞

那你就再试一下,把 net_write_timeout这个参数在数据库侧调大点再试试?
看描述改了后需要重启obproxy
https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000001431585

1 个赞

生产支持不支持,需要测试环境他们的测试报告说话啊。有必要的话,就让领导评审下

jdbc:mysq://bg-xxx-xxx:4883/dbname?sessionVariables=ob_read_consistency=WEAK,ob_query_timeout=172800000000,ob_trx_timeout=172800000000&autoReconnect=true&netTimeoutForStreamingResults=7200
在jdbcUrl中设定参数就不会报错了.

Java 应用与 OceanBase 数据库连接配置最佳实践

https://www.oceanbase.com/docs/common-best-practices-1000000001489649

1 个赞