davidzollo commented on PR #10874: URL: https://github.com/apache/seatunnel/pull/10874#issuecomment-5351025438
Addressed the two current High blockers in `95f1ee7076`. 1. Old-checkpoint JDBC restore is no longer allowed to miss reader-owned splits. `JdbcSourceState` now preserves the legacy "tracking fields absent" shape, and `JdbcSourceSplitEnumerator` counts reader-restored splits during the pre-run old-checkpoint bootstrap phase. That prevents a table from being undercounted and prevents `JdbcTableFinishedEvent` from firing before all restored in-flight splits report completion. I also added a legacy fallback that broadcasts the table-finished signal to currently registered readers if an old checkpoint still reports an unknown table, so restored readers do not wait forever for a close signal the old state could not store. 2. `SeaTunnelSplitEnumeratorContext.sendEventToSourceReader(...)` no longer blocks the enumerator thread with `.join()`. It keeps the existing unregistered-reader no-op check, schedules the `SourceEnumeratorEventOperation`, and logs asynchronous delivery failure instead of propagating it back into existing callers such as CDC `IncrementalSourceEnumerator` snapshot-ack handling. Regression coverage added: - `JdbcSourceSplitEnumeratorTest` now covers old-format restore with pending plus reader-state splits, and the unknown-table legacy fallback broadcast. - `SourceSplitEnumeratorTaskTest` now verifies enumerator-to-reader event delivery does not wait on the invocation future. Local validation stayed inside the allowed formatting boundary: `./mvnw -pl seatunnel-connectors-v2/connector-jdbc,seatunnel-engine/seatunnel-engine-server -DskipTests -DskipIT=true -Dmaven.gitcommitid.skip=true spotless:apply spotless:check` and `git diff --check`. I did not run local compile/test/E2E; fresh GitHub CI is queued on the new head. -- 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]
