flinkStreamSQL icon indicating copy to clipboard operation
flinkStreamSQL copied to clipboard

oracle维表ALL模式加载数据报错

Open liubin2048 opened this issue 5 years ago • 1 comments

oracle维表ALL模式加载数据时报错,oracle维表数据量大概在80MB左右,定位到RdbAllReqRow这个类的loadData方法下的:while (resultSet.next()) { 这一行报错。报错信息如下:

java.sql.SQLRecoverableException: IO Error: Socket read interrupted at oracle.jdbc.driver.T4CStatement.fetch(T4CStatement.java:1021) at oracle.jdbc.driver.OracleStatement.fetchMoreRows(OracleStatement.java:3353) at oracle.jdbc.driver.InsensitiveScrollableResultSet.fetchMoreRows(InsensitiveScrollableResultSet.java:736) at oracle.jdbc.driver.InsensitiveScrollableResultSet.absoluteInternal(InsensitiveScrollableResultSet.java:692) at oracle.jdbc.driver.InsensitiveScrollableResultSet.next(InsensitiveScrollableResultSet.java:406) at com.bonc.bdsqls.flink.side.rdb.all.RdbAllReqRow.loadData(RdbAllReqRow.java:199) at com.bonc.bdsqls.flink.side.rdb.all.RdbAllReqRow.initCache(RdbAllReqRow.java:93) at com.bonc.bdsqls.flink.side.AllReqRow.open(AllReqRow.java:60) at org.apache.flink.api.common.functions.util.FunctionUtils.openFunction(FunctionUtils.java:36) at org.apache.flink.streaming.api.operators.AbstractUdfStreamOperator.open(AbstractUdfStreamOperator.java:102) at org.apache.flink.streaming.api.operators.StreamFlatMap.open(StreamFlatMap.java:43) at org.apache.flink.streaming.runtime.tasks.StreamTask.openAllOperators(StreamTask.java:426) at org.apache.flink.streaming.runtime.tasks.StreamTask.invoke(StreamTask.java:292) at org.apache.flink.runtime.taskmanager.Task.run(Task.java:711) at java.lang.Thread.run(Thread.java:748) Caused by: java.net.SocketTimeoutException: Socket read interrupted at oracle.net.nt.TimeoutSocketChannel.read(TimeoutSocketChannel.java:152) at oracle.net.ns.NIOHeader.readHeaderBuffer(NIOHeader.java:82) at oracle.net.ns.NIOPacket.readFromSocketChannel(NIOPacket.java:139) at oracle.net.ns.NIOPacket.readFromSocketChannel(NIOPacket.java:101) at oracle.net.ns.NIONSDataChannel.readDataFromSocketChannel(NIONSDataChannel.java:80) at oracle.jdbc.driver.T4CMAREngineNIO.prepareForReading(T4CMAREngineNIO.java:102) at oracle.jdbc.driver.T4CMAREngineNIO.unmarshalUB1(T4CMAREngineNIO.java:534) at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:485) at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:252) at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:612) at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:213) at oracle.jdbc.driver.T4CStatement.fetch(T4CStatement.java:1009) ... 14 more

该如何解决呢

liubin2048 avatar Apr 13 '20 07:04 liubin2048

oracle维表ALL模式加载数据时报错,oracle维表数据量大概在80MB左右,定位到RdbAllReqRow这个类的loadData方法下的:while (resultSet.next()) { 这一行报错。报错信息如下:

java.sql.SQLRecoverableException: IO Error: Socket read interrupted at oracle.jdbc.driver.T4CStatement.fetch(T4CStatement.java:1021) at oracle.jdbc.driver.OracleStatement.fetchMoreRows(OracleStatement.java:3353) at oracle.jdbc.driver.InsensitiveScrollableResultSet.fetchMoreRows(InsensitiveScrollableResultSet.java:736) at oracle.jdbc.driver.InsensitiveScrollableResultSet.absoluteInternal(InsensitiveScrollableResultSet.java:692) at oracle.jdbc.driver.InsensitiveScrollableResultSet.next(InsensitiveScrollableResultSet.java:406) at com.bonc.bdsqls.flink.side.rdb.all.RdbAllReqRow.loadData(RdbAllReqRow.java:199) at com.bonc.bdsqls.flink.side.rdb.all.RdbAllReqRow.initCache(RdbAllReqRow.java:93) at com.bonc.bdsqls.flink.side.AllReqRow.open(AllReqRow.java:60) at org.apache.flink.api.common.functions.util.FunctionUtils.openFunction(FunctionUtils.java:36) at org.apache.flink.streaming.api.operators.AbstractUdfStreamOperator.open(AbstractUdfStreamOperator.java:102) at org.apache.flink.streaming.api.operators.StreamFlatMap.open(StreamFlatMap.java:43) at org.apache.flink.streaming.runtime.tasks.StreamTask.openAllOperators(StreamTask.java:426) at org.apache.flink.streaming.runtime.tasks.StreamTask.invoke(StreamTask.java:292) at org.apache.flink.runtime.taskmanager.Task.run(Task.java:711) at java.lang.Thread.run(Thread.java:748) Caused by: java.net.SocketTimeoutException: Socket read interrupted at oracle.net.nt.TimeoutSocketChannel.read(TimeoutSocketChannel.java:152) at oracle.net.ns.NIOHeader.readHeaderBuffer(NIOHeader.java:82) at oracle.net.ns.NIOPacket.readFromSocketChannel(NIOPacket.java:139) at oracle.net.ns.NIOPacket.readFromSocketChannel(NIOPacket.java:101) at oracle.net.ns.NIONSDataChannel.readDataFromSocketChannel(NIONSDataChannel.java:80) at oracle.jdbc.driver.T4CMAREngineNIO.prepareForReading(T4CMAREngineNIO.java:102) at oracle.jdbc.driver.T4CMAREngineNIO.unmarshalUB1(T4CMAREngineNIO.java:534) at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:485) at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:252) at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:612) at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:213) at oracle.jdbc.driver.T4CStatement.fetch(T4CStatement.java:1009) ... 14 more

该如何解决呢 这个我们本地验证一下,如果问题存在我们第一时间修复

leeang12138 avatar Apr 17 '20 08:04 leeang12138