Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

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

未关闭
#298 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
4/5
预计耗时
3-5 天
新手友好度
30/100
Issue 类型
缺陷
描述清晰度
需要澄清
活跃度
停滞
技术栈
java
领域
databases

调研方向

从 RdbAllReqRow.java:199 的 RdbAllReqRow.loadData 开始,跟踪 ALL 模式加载期间如何获取 Oracle 结果集。使用报告中约 80 MB 的维度表重现 Socket read interrupted 失败;完成标准是加载在没有此异常的情况下完成,并记录原因或所需配置。

由索引模型根据 Issue 内容生成。

描述

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

该如何解决呢

主要语言
Java
星标
2k
派生
913
PR 合并指标
30 天内没有已合并 PR

贡献指南

这个仓库没有索引到贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

DTStack/flinkStreamSQL 的其他 Issue

查看 DTStack/flinkStreamSQL 的全部 Issue

相似的 Issue

更多 Java Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。