使用ETL批量表输入与输出传输千万量级表时,平台异常提示Connection reset,烦请大神帮忙解答。 使用平台版本为:社区版2.4。 数据源使用druid连接池进行长链接,批量表为150张,流程失败后执行过3次,均在此处标记异常,数据库使用mysql进行传输,max_allowed_packet参数设置为1024M,烦请大佬提供思路。 以下为异常打印:
ETL01:admin at 08/09 16:05:22 traceId:64d343c9490a6e7b3436b4a2 =>调试信息=>当前所有待执行节点:[T00001, T00002],当前并发线程Id:[112]
ETL01:admin at 08/09 16:05:22 traceId:64d343c9490a6e7b3436b4a2 =>调试信息=>提示:T00002准备传输符合条件的(10000)条数据到(car_arch_trail)表中!
ETL01:admin at 08/09 16:05:22 traceId:64d343c9490a6e7b3436b4a2 =>调试信息=>获取一个新数据库链接=com.mysql.cj.jdbc.ConnectionImpl@6c16ca7e
ETL01:admin at 08/09 16:05:22 traceId:64d343c9490a6e7b3436b4a2 =>调试信息=>T00002开始对数据进行插入、更新、删除标注,数据量共:10000
ETL01:admin at 08/09 16:05:22 traceId:64d343c9490a6e7b3436b4a2 =>调试信息=>T00002已成完成标注的记录数为:1000
ETL01:admin at 08/09 16:05:22 traceId:64d343c9490a6e7b3436b4a2 =>调试信息=>T00002已成完成标注的记录数为:2000
ETL01:admin at 08/09 16:05:22 traceId:64d343c9490a6e7b3436b4a2 =>调试信息=>T00002已成完成标注的记录数为:3000
ETL01:admin at 08/09 16:05:22 traceId:64d343c9490a6e7b3436b4a2 =>调试信息=>T00002已成完成标注的记录数为:4000
ETL01:admin at 08/09 16:05:22 traceId:64d343c9490a6e7b3436b4a2 =>调试信息=>T00002已成完成标注的记录数为:5000
ETL01:admin at 08/09 16:05:22 traceId:64d343c9490a6e7b3436b4a2 =>调试信息=>T00002已成完成标注的记录数为:6000
ETL01:admin at 08/09 16:05:22 traceId:64d343c9490a6e7b3436b4a2 =>调试信息=>T00002已成完成标注的记录数为:7000
ETL01:admin at 08/09 16:05:22 traceId:64d343c9490a6e7b3436b4a2 =>调试信息=>T00002已成完成标注的记录数为:8000
ETL01:admin at 08/09 16:05:22 traceId:64d343c9490a6e7b3436b4a2 =>调试信息=>T00002已成完成标注的记录数为:9000
ETL01:admin at 08/09 16:05:22 traceId:64d343c9490a6e7b3436b4a2 =>调试信息=>T00002已成完成标注的记录数为:10000
ETL01:admin at 08/09 16:05:22 traceId:64d343c9490a6e7b3436b4a2 =>调试信息=>T00002标注结果:插入数据量:10000,更新的数据量:0,删除的数据量:0
ETL01:admin at 08/09 16:05:22 traceId:64d343c9490a6e7b3436b4a2 =>调试信息=>提示:开始批量插入10000条数据到car_arch_trail数据库表中
ETL01:admin at 08/09 16:05:22 traceId:64d343c9490a6e7b3436b4a2 =>调试信息=>执行批量插入数据共(10000)条,提交大小为:10000
ETL01:admin at 08/09 16:05:23 traceId:64d343c9490a6e7b3436b4a2 =>调试信息=>T00002批量数据处理完成
ETL01:admin at 08/09 16:05:23 traceId:64d343c9490a6e7b3436b4a2 =>调试信息=>提示:插入结果为,成功:10000,失败:0
ETL01:admin at 08/09 16:05:23 traceId:64d343c9490a6e7b3436b4a2 =>调试信息=>提示:更新结果为,成功:0,失败:0
ETL01:admin at 08/09 16:05:23 traceId:64d343c9490a6e7b3436b4a2 =>调试信息=>提示:删除结果为,成功:0,失败:0
ETL01:admin at 08/09 16:05:23 traceId:64d343c9490a6e7b3436b4a2 =>调试信息=>节点:T00002,成功写入数据量:10000,失败数量:0,断言结果为:成立
ETL01:admin at 08/09 16:05:23 traceId:64d343c9490a6e7b3436b4a2 =>调试信息=>结束节点:T00002,结束第1814个节点,节点名称:前置机表输出,流出数据量:10000
ETL01:admin at 08/09 16:05:23 traceId:64d343c9490a6e7b3436b4a2 =>java.lang.Class - java.sql.SQLException: Error retrieving record: Unexpected Exception: java.net.SocketException message given: Connection reset
Nested Stack Trace:
** BEGIN NESTED EXCEPTION **
java.net.SocketException
MESSAGE: Connection reset
STACKTRACE:
java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(SocketInputStream.java:210)
at java.net.SocketInputStream.read(SocketInputStream.java:141)
at com.mysql.cj.protocol.ReadAheadInputStream.fill(ReadAheadInputStream.java:107)
at com.mysql.cj.protocol.ReadAheadInputStream.readFromUnderlyingStreamIfNecessary(ReadAheadInputStream.java:150)
at com.mysql.cj.protocol.ReadAheadInputStream.read(ReadAheadInputStream.java:180)
at java.io.FilterInputStream.read(FilterInputStream.java:133)
at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:64)
at com.mysql.cj.protocol.a.SimplePacketReader.readMessageLocal(SimplePacketReader.java:137)
at com.mysql.cj.protocol.a.SimplePacketReader.readMessage(SimplePacketReader.java:102)
at com.mysql.cj.protocol.a.SimplePacketReader.readMessage(SimplePacketReader.java:45)
at com.mysql.cj.protocol.a.TimeTrackingPacketReader.readMessage(TimeTrackingPacketReader.java:62)
at com.mysql.cj.protocol.a.TimeTrackingPacketReader.readMessage(TimeTrackingPacketReader.java:41)
at com.mysql.cj.protocol.a.MultiPacketReader.readMessage(MultiPacketReader.java:66)
at com.mysql.cj.protocol.a.MultiPacketReader.readMessage(MultiPacketReader.java:44)
at com.mysql.cj.protocol.a.ResultsetRowReader.read(ResultsetRowReader.java:75)
at com.mysql.cj.protocol.a.ResultsetRowReader.read(ResultsetRowReader.java:42)
at com.mysql.cj.protocol.a.NativeProtocol.read(NativeProtocol.java:1651)
at com.mysql.cj.protocol.a.result.ResultsetRowsStreaming.next(ResultsetRowsStreaming.java:194)
at com.mysql.cj.protocol.a.result.ResultsetRowsStreaming.next(ResultsetRowsStreaming.java:62)
at com.mysql.cj.jdbc.result.ResultSetImpl.next(ResultSetImpl.java:1813)
at com.alibaba.druid.pool.DruidPooledResultSet.next(DruidPooledResultSet.java:68)
at cn.restcloud.etl.process.engine.drive.impl.dbsync.ETLTableBatchReadNode.readTableDataByCursor(ETLTableBatchReadNode.java:200)
at cn.restcloud.etl.process.engine.drive.impl.dbsync.ETLTableBatchReadNode.startNode(ETLTableBatchReadNode.java:84)
at cn.restcloud.etl.process.engine.service.ETLProcessEngine.goToNextNode(ETLProcessEngine.java:693)
at cn.restcloud.etl.process.engine.drive.impl.common.ETLRouterNode.endNode(ETLRouterNode.java:315)
at cn.restcloud.etl.process.engine.drive.impl.common.ETLRouterNode.startNode(ETLRouterNode.java:82)
at cn.restcloud.etl.process.engine.service.ETLProcessEngine.executeRouterDoc(ETLProcessEngine.java:820)
at cn.restcloud.etl.process.engine.service.ETLProcessEngine.goToNextRouter(ETLProcessEngine.java:726)
at cn.restcloud.etl.process.engine.drive.impl.event.ETLStartNode.endNode(ETLStartNode.java:50)
at cn.restcloud.etl.process.engine.drive.impl.event.ETLStartNode.startNode(ETLStartNode.java:37)
at cn.restcloud.etl.process.engine.service.ETLProcessEngine.executeNodeDrive(ETLProcessEngine.java:530)
at cn.restcloud.etl.process.engine.service.ETLProcessEngine.run(ETLProcessEngine.java:148)
at cn.restcloud.etl.process.engine.service.ETLAsynchronousProcessEngine.run(ETLAsynchronousProcessEngine.java:92)
at cn.restcloud.etl.process.engine.service.ETLAsynchronousProcessEngine.call(ETLAsynchronousProcessEngine.java:58)
at cn.restcloud.etl.process.engine.service.ETLAsynchronousProcessEngine.call(ETLAsynchronousProcessEngine.java:26)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
** END NESTED EXCEPTION **
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:129)
at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)
at com.mysql.cj.jdbc.result.ResultSetImpl.next(ResultSetImpl.java:1828)
at com.alibaba.druid.pool.DruidPooledResultSet.next(DruidPooledResultSet.java:68)
at cn.restcloud.etl.process.engine.drive.impl.dbsync.ETLTableBatchReadNode.readTableDataByCursor(ETLTableBatchReadNode.java:200)
at cn.restcloud.etl.process.engine.drive.impl.dbsync.ETLTableBatchReadNode.startNode(ETLTableBatchReadNode.java:84)
at cn.restcloud.etl.process.engine.service.ETLProcessEngine.goToNextNode(ETLProcessEngine.java:693)
at cn.restcloud.etl.process.engine.drive.impl.common.ETLRouterNode.endNode(ETLRouterNode.java:315)
at cn.restcloud.etl.process.engine.drive.impl.common.ETLRouterNode.startNode(ETLRouterNode.java:82)
at cn.restcloud.etl.process.engine.service.ETLProcessEngine.executeRouterDoc(ETLProcessEngine.java:820)
at cn.restcloud.etl.process.engine.service.ETLProcessEngine.goToNextRouter(ETLProcessEngine.java:726)
at cn.restcloud.etl.process.engine.drive.impl.event.ETLStartNode.endNode(ETLStartNode.java:50)
at cn.restcloud.etl.process.engine.drive.impl.event.ETLStartNode.startNode(ETLStartNode.java:37)
at cn.restcloud.etl.process.engine.service.ETLProcessEngine.executeNodeDrive(ETLProcessEngine.java:530)
at cn.restcloud.etl.process.engine.service.ETLProcessEngine.run(ETLProcessEngine.java:148)
at cn.restcloud.etl.process.engine.service.ETLAsynchronousProcessEngine.run(ETLAsynchronousProcessEngine.java:92)
at cn.restcloud.etl.process.engine.service.ETLAsynchronousProcessEngine.call(ETLAsynchronousProcessEngine.java:58)
at cn.restcloud.etl.process.engine.service.ETLAsynchronousProcessEngine.call(ETLAsynchronousProcessEngine.java:26)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(SocketInputStream.java:210)
at java.net.SocketInputStream.read(SocketInputStream.java:141)
at com.mysql.cj.protocol.ReadAheadInputStream.fill(ReadAheadInputStream.java:107)
at com.mysql.cj.protocol.ReadAheadInputStream.readFromUnderlyingStreamIfNecessary(ReadAheadInputStream.java:150)
at com.mysql.cj.protocol.ReadAheadInputStream.read(ReadAheadInputStream.java:180)
at java.io.FilterInputStream.read(FilterInputStream.java:133)
at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:64)
at com.mysql.cj.protocol.a.SimplePacketReader.readMessageLocal(SimplePacketReader.java:137)
at com.mysql.cj.protocol.a.SimplePacketReader.readMessage(SimplePacketReader.java:102)
at com.mysql.cj.protocol.a.SimplePacketReader.readMessage(SimplePacketReader.java:45)
at com.mysql.cj.protocol.a.TimeTrackingPacketReader.readMessage(TimeTrackingPacketReader.java:62)
at com.mysql.cj.protocol.a.TimeTrackingPacketReader.readMessage(TimeTrackingPacketReader.java:41)
at com.mysql.cj.protocol.a.MultiPacketReader.readMessage(MultiPacketReader.java:66)
at com.mysql.cj.protocol.a.MultiPacketReader.readMessage(MultiPacketReader.java:44)
at com.mysql.cj.protocol.a.ResultsetRowReader.read(ResultsetRowReader.java:75)
at com.mysql.cj.protocol.a.ResultsetRowReader.read(ResultsetRowReader.java:42)
at com.mysql.cj.protocol.a.NativeProtocol.read(NativeProtocol.java:1651)
at com.mysql.cj.protocol.a.result.ResultsetRowsStreaming.next(ResultsetRowsStreaming.java:194)
at com.mysql.cj.protocol.a.result.ResultsetRowsStreaming.next(ResultsetRowsStreaming.java:62)
at com.mysql.cj.jdbc.result.ResultSetImpl.next(ResultSetImpl.java:1813)
... 19 more
ETL01:admin at 08/09 16:05:23 traceId:64d343c9490a6e7b3436b4a2 =>调试信息=>表(car_arch_trail)传输结束,总计传输数据量(7788573),结果(失败)==================
ETL01:admin at 08/09 16:05:23 traceId:64d343c9490a6e7b3436b4a2 =>全量同步>执行结果>null 共耗时:1273875毫秒 是否成功=否(0)
大数据量的数据同步建议数据源换成短链接的方式。
最开始是使用的短链接,在第一次异常之后切换为长链接。
使用短链接单独为此表创建流程,数据传输到300万提示异常发生。
以下为表结构:
CREATE TABLE `car_arch_trail` (
`car_trail_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
`car_arch_id` int DEFAULT NULL COMMENT '车主键',
`car_mileage` int DEFAULT NULL COMMENT '里程',
`car_speed` int DEFAULT NULL COMMENT '车速',
`car_oil` int DEFAULT NULL COMMENT '油量',
`is_work` int DEFAULT NULL COMMENT '是否工作 0否 1是',
`car_long` double(11,6) DEFAULT NULL COMMENT '经度',
`car_lat` double(11,6) DEFAULT NULL COMMENT '纬度',
`create_time` datetime DEFAULT NULL,
PRIMARY KEY (`car_trail_id`) USING BTREE,
KEY `car_arch_trail_create_time_index` (`create_time`) USING BTREE,
KEY `car_arch_trail_car_arch_id_index` (`car_arch_id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=83092988 DEFAULT CHARSET=utf8mb3
以下为错误日志:
ETL01:admin at 08/10 09:44:27 traceId:64d43ef7490a6e7b3436d66e =>调试信息=>===节点(T00001)表(car_arch_trail)分页数据(10000)条读取完成,当前总读取记录数为([I@631b9d40)========================
ETL01:admin at 08/10 09:44:27 traceId:64d43ef7490a6e7b3436d66e =>调试信息=>启动节点:R00002,启动第644个节点,节点名称:,流入数据量:10000
ETL01:admin at 08/10 09:44:27 traceId:64d43ef7490a6e7b3436d66e =>调试信息=>当前所有待执行节点:[T00001, R00002],当前并发线程Id:[113]
ETL01:admin at 08/10 09:44:27 traceId:64d43ef7490a6e7b3436d66e =>调试信息=>结束节点:R00002,结束第644个节点,节点名称:,流出数据量:10000
ETL01:admin at 08/10 09:44:27 traceId:64d43ef7490a6e7b3436d66e =>调试信息=>启动节点:T00002,启动第645个节点,节点名称:库表批量输出,流入数据量:10000
ETL01:admin at 08/10 09:44:27 traceId:64d43ef7490a6e7b3436d66e =>调试信息=>当前所有待执行节点:[T00001, T00002],当前并发线程Id:[113]
ETL01:admin at 08/10 09:44:27 traceId:64d43ef7490a6e7b3436d66e =>调试信息=>提示:T00002准备传输符合条件的(10000)条数据到(car_arch_trail)表中!
ETL01:admin at 08/10 09:44:27 traceId:64d43ef7490a6e7b3436d66e =>调试信息=>获取一个新数据库链接=com.mysql.cj.jdbc.ConnectionImpl@6b19a1ee
ETL01:admin at 08/10 09:44:27 traceId:64d43ef7490a6e7b3436d66e =>调试信息=>T00002开始对数据进行插入、更新、删除标注,数据量共:10000
ETL01:admin at 08/10 09:44:27 traceId:64d43ef7490a6e7b3436d66e =>调试信息=>T00002已成完成标注的记录数为:1000
ETL01:admin at 08/10 09:44:27 traceId:64d43ef7490a6e7b3436d66e =>调试信息=>T00002已成完成标注的记录数为:2000
ETL01:admin at 08/10 09:44:27 traceId:64d43ef7490a6e7b3436d66e =>调试信息=>T00002已成完成标注的记录数为:3000
ETL01:admin at 08/10 09:44:27 traceId:64d43ef7490a6e7b3436d66e =>调试信息=>T00002已成完成标注的记录数为:4000
ETL01:admin at 08/10 09:44:27 traceId:64d43ef7490a6e7b3436d66e =>调试信息=>T00002已成完成标注的记录数为:5000
ETL01:admin at 08/10 09:44:27 traceId:64d43ef7490a6e7b3436d66e =>调试信息=>T00002已成完成标注的记录数为:6000
ETL01:admin at 08/10 09:44:28 traceId:64d43ef7490a6e7b3436d66e =>调试信息=>T00002已成完成标注的记录数为:7000
ETL01:admin at 08/10 09:44:28 traceId:64d43ef7490a6e7b3436d66e =>调试信息=>T00002已成完成标注的记录数为:8000
ETL01:admin at 08/10 09:44:28 traceId:64d43ef7490a6e7b3436d66e =>调试信息=>T00002已成完成标注的记录数为:9000
ETL01:admin at 08/10 09:44:28 traceId:64d43ef7490a6e7b3436d66e =>调试信息=>T00002已成完成标注的记录数为:10000
ETL01:admin at 08/10 09:44:28 traceId:64d43ef7490a6e7b3436d66e =>调试信息=>T00002标注结果:插入数据量:10000,更新的数据量:0,删除的数据量:0
ETL01:admin at 08/10 09:44:28 traceId:64d43ef7490a6e7b3436d66e =>调试信息=>提示:开始批量插入10000条数据到car_arch_trail数据库表中
ETL01:admin at 08/10 09:44:28 traceId:64d43ef7490a6e7b3436d66e =>调试信息=>执行批量插入数据共(10000)条,提交大小为:10000
ETL01:admin at 08/10 09:44:29 traceId:64d43ef7490a6e7b3436d66e =>调试信息=>T00002批量数据处理完成
ETL01:admin at 08/10 09:44:29 traceId:64d43ef7490a6e7b3436d66e =>调试信息=>提示:插入结果为,成功:10000,失败:0
ETL01:admin at 08/10 09:44:29 traceId:64d43ef7490a6e7b3436d66e =>调试信息=>提示:更新结果为,成功:0,失败:0
ETL01:admin at 08/10 09:44:29 traceId:64d43ef7490a6e7b3436d66e =>调试信息=>提示:删除结果为,成功:0,失败:0
ETL01:admin at 08/10 09:44:29 traceId:64d43ef7490a6e7b3436d66e =>调试信息=>节点:T00002,成功写入数据量:10000,失败数量:0,断言结果为:成立
ETL01:admin at 08/10 09:44:29 traceId:64d43ef7490a6e7b3436d66e =>调试信息=>结束节点:T00002,结束第645个节点,节点名称:库表批量输出,流出数据量:10000
ETL01:admin at 08/10 09:44:29 traceId:64d43ef7490a6e7b3436d66e =>java.lang.Class - java.sql.SQLException: Error retrieving record: Unexpected Exception: java.net.SocketException message given: Connection reset
Nested Stack Trace:
** BEGIN NESTED EXCEPTION **
java.net.SocketException
MESSAGE: Connection reset
STACKTRACE:
java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(SocketInputStream.java:210)
at java.net.SocketInputStream.read(SocketInputStream.java:141)
at com.mysql.cj.protocol.ReadAheadInputStream.fill(ReadAheadInputStream.java:107)
at com.mysql.cj.protocol.ReadAheadInputStream.readFromUnderlyingStreamIfNecessary(ReadAheadInputStream.java:150)
at com.mysql.cj.protocol.ReadAheadInputStream.read(ReadAheadInputStream.java:180)
at java.io.FilterInputStream.read(FilterInputStream.java:133)
at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:64)
at com.mysql.cj.protocol.a.SimplePacketReader.readMessageLocal(SimplePacketReader.java:137)
at com.mysql.cj.protocol.a.SimplePacketReader.readMessage(SimplePacketReader.java:102)
at com.mysql.cj.protocol.a.SimplePacketReader.readMessage(SimplePacketReader.java:45)
at com.mysql.cj.protocol.a.TimeTrackingPacketReader.readMessage(TimeTrackingPacketReader.java:62)
at com.mysql.cj.protocol.a.TimeTrackingPacketReader.readMessage(TimeTrackingPacketReader.java:41)
at com.mysql.cj.protocol.a.MultiPacketReader.readMessage(MultiPacketReader.java:66)
at com.mysql.cj.protocol.a.MultiPacketReader.readMessage(MultiPacketReader.java:44)
at com.mysql.cj.protocol.a.ResultsetRowReader.read(ResultsetRowReader.java:75)
at com.mysql.cj.protocol.a.ResultsetRowReader.read(ResultsetRowReader.java:42)
at com.mysql.cj.protocol.a.NativeProtocol.read(NativeProtocol.java:1651)
at com.mysql.cj.protocol.a.result.ResultsetRowsStreaming.next(ResultsetRowsStreaming.java:194)
at com.mysql.cj.protocol.a.result.ResultsetRowsStreaming.next(ResultsetRowsStreaming.java:62)
at com.mysql.cj.jdbc.result.ResultSetImpl.next(ResultSetImpl.java:1813)
at cn.restcloud.etl.process.engine.drive.impl.dbsync.ETLTableBatchReadNode.readTableDataByCursor(ETLTableBatchReadNode.java:200)
at cn.restcloud.etl.process.engine.drive.impl.dbsync.ETLTableBatchReadNode.startNode(ETLTableBatchReadNode.java:84)
at cn.restcloud.etl.process.engine.service.ETLProcessEngine.goToNextNode(ETLProcessEngine.java:693)
at cn.restcloud.etl.process.engine.drive.impl.common.ETLRouterNode.endNode(ETLRouterNode.java:315)
at cn.restcloud.etl.process.engine.drive.impl.common.ETLRouterNode.startNode(ETLRouterNode.java:82)
at cn.restcloud.etl.process.engine.service.ETLProcessEngine.executeRouterDoc(ETLProcessEngine.java:820)
at cn.restcloud.etl.process.engine.service.ETLProcessEngine.goToNextRouter(ETLProcessEngine.java:726)
at cn.restcloud.etl.process.engine.drive.impl.event.ETLStartNode.endNode(ETLStartNode.java:50)
at cn.restcloud.etl.process.engine.drive.impl.event.ETLStartNode.startNode(ETLStartNode.java:37)
at cn.restcloud.etl.process.engine.service.ETLProcessEngine.executeNodeDrive(ETLProcessEngine.java:530)
at cn.restcloud.etl.process.engine.service.ETLProcessEngine.run(ETLProcessEngine.java:148)
at cn.restcloud.etl.process.engine.service.ETLAsynchronousProcessEngine.run(ETLAsynchronousProcessEngine.java:92)
at cn.restcloud.etl.process.engine.service.ETLAsynchronousProcessEngine.call(ETLAsynchronousProcessEngine.java:58)
at cn.restcloud.etl.process.engine.service.ETLAsynchronousProcessEngine.call(ETLAsynchronousProcessEngine.java:26)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
** END NESTED EXCEPTION **
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:129)
at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)
at com.mysql.cj.jdbc.result.ResultSetImpl.next(ResultSetImpl.java:1828)
at cn.restcloud.etl.process.engine.drive.impl.dbsync.ETLTableBatchReadNode.readTableDataByCursor(ETLTableBatchReadNode.java:200)
at cn.restcloud.etl.process.engine.drive.impl.dbsync.ETLTableBatchReadNode.startNode(ETLTableBatchReadNode.java:84)
at cn.restcloud.etl.process.engine.service.ETLProcessEngine.goToNextNode(ETLProcessEngine.java:693)
at cn.restcloud.etl.process.engine.drive.impl.common.ETLRouterNode.endNode(ETLRouterNode.java:315)
at cn.restcloud.etl.process.engine.drive.impl.common.ETLRouterNode.startNode(ETLRouterNode.java:82)
at cn.restcloud.etl.process.engine.service.ETLProcessEngine.executeRouterDoc(ETLProcessEngine.java:820)
at cn.restcloud.etl.process.engine.service.ETLProcessEngine.goToNextRouter(ETLProcessEngine.java:726)
at cn.restcloud.etl.process.engine.drive.impl.event.ETLStartNode.endNode(ETLStartNode.java:50)
at cn.restcloud.etl.process.engine.drive.impl.event.ETLStartNode.startNode(ETLStartNode.java:37)
at cn.restcloud.etl.process.engine.service.ETLProcessEngine.executeNodeDrive(ETLProcessEngine.java:530)
at cn.restcloud.etl.process.engine.service.ETLProcessEngine.run(ETLProcessEngine.java:148)
at cn.restcloud.etl.process.engine.service.ETLAsynchronousProcessEngine.run(ETLAsynchronousProcessEngine.java:92)
at cn.restcloud.etl.process.engine.service.ETLAsynchronousProcessEngine.call(ETLAsynchronousProcessEngine.java:58)
at cn.restcloud.etl.process.engine.service.ETLAsynchronousProcessEngine.call(ETLAsynchronousProcessEngine.java:26)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(SocketInputStream.java:210)
at java.net.SocketInputStream.read(SocketInputStream.java:141)
at com.mysql.cj.protocol.ReadAheadInputStream.fill(ReadAheadInputStream.java:107)
at com.mysql.cj.protocol.ReadAheadInputStream.readFromUnderlyingStreamIfNecessary(ReadAheadInputStream.java:150)
at com.mysql.cj.protocol.ReadAheadInputStream.read(ReadAheadInputStream.java:180)
at java.io.FilterInputStream.read(FilterInputStream.java:133)
at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:64)
at com.mysql.cj.protocol.a.SimplePacketReader.readMessageLocal(SimplePacketReader.java:137)
at com.mysql.cj.protocol.a.SimplePacketReader.readMessage(SimplePacketReader.java:102)
at com.mysql.cj.protocol.a.SimplePacketReader.readMessage(SimplePacketReader.java:45)
at com.mysql.cj.protocol.a.TimeTrackingPacketReader.readMessage(TimeTrackingPacketReader.java:62)
at com.mysql.cj.protocol.a.TimeTrackingPacketReader.readMessage(TimeTrackingPacketReader.java:41)
at com.mysql.cj.protocol.a.MultiPacketReader.readMessage(MultiPacketReader.java:66)
at com.mysql.cj.protocol.a.MultiPacketReader.readMessage(MultiPacketReader.java:44)
at com.mysql.cj.protocol.a.ResultsetRowReader.read(ResultsetRowReader.java:75)
at com.mysql.cj.protocol.a.ResultsetRowReader.read(ResultsetRowReader.java:42)
at com.mysql.cj.protocol.a.NativeProtocol.read(NativeProtocol.java:1651)
at com.mysql.cj.protocol.a.result.ResultsetRowsStreaming.next(ResultsetRowsStreaming.java:194)
at com.mysql.cj.protocol.a.result.ResultsetRowsStreaming.next(ResultsetRowsStreaming.java:62)
at com.mysql.cj.jdbc.result.ResultSetImpl.next(ResultSetImpl.java:1813)
... 18 more
ETL01:admin at 08/10 09:44:29 traceId:64d43ef7490a6e7b3436d66e =>调试信息=>表(car_arch_trail)传输结束,总计传输数据量(3217279),结果(失败)==================
ETL01:admin at 08/10 09:44:29 traceId:64d43ef7490a6e7b3436d66e =>测试>执行结果>null 共耗时:517829毫秒 是否成功=否(0)
批量同步的问题我们之前还没遇到过,我这边反馈研发验证一下,咱们这边可以先用库表输入输出进行数据同步。
好的,谢谢啦
批量数据同步的时候看看是不是数据库的服务器资源不够导致