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]

Reply via email to