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
分支
911
PR 合併指標
30 天內沒有已合併 PR

環境準備

這個專案沒有提供開發容器、Dockerfile 或貢獻指南,環境需要你自己搭建:先看它的 README,通用步驟見我們的新手貢獻指南。

從這裡開始

  1. 先讀完整個 Issue,再讀專案的貢獻指南。
  2. 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
  3. Fork 儲存庫,在一個分支上完成修改。
  4. 送出 Pull Request,並在描述裡引用這個 Issue 編號。

DTStack/flinkStreamSQL 的其他 Issue

查看 DTStack/flinkStreamSQL 的全部 Issue

相似的 Issue

更多 Java Issue

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。