zhang-arvin opened a new pull request, #12024: URL: https://github.com/apache/seatunnel/pull/12024
### Purpose Fix Oracle CDC connector fails with 'Generate Splits' error when the `analyze table` statement times out on Oracle. ### Problem When the Oracle CDC connector runs `analyze table ... compute statistics for table` to estimate row count for chunk splitting, the analyze statement can fail due to Oracle session timeouts (e.g., `No more data to read from socket`). This causes the entire split generation to fail with `Generate Splits for table XXX` error. ### Root Cause In `OracleUtils.queryApproximateRowCnt()`, the `jdbc.execute(analyzeTable)` call is not wrapped in a try-catch. When it fails, the `SQLException` propagates up and causes the split generation to fail. ### Fix Wrap the `analyze table` execution in a try-catch. When the analyze fails: 1. Log a warning with the error message 2. Fall back to using `select count(*)` to get the row count This makes the Oracle CDC split generation resilient to Oracle session timeout issues. ### Related Issue Closes #12019 ### Checklist - [x] Code compiles correctly - [x] Formatting applied (spotless:apply) - [ ] Tests added (no logic change to test — this is a defensive error-handling fix) - [ ] Documentation updated (no user-facing config changes) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
