DanielLeens commented on PR #10874:
URL: https://github.com/apache/seatunnel/pull/10874#issuecomment-4968422220
Rechecked the current head `6c9c0b0b65ef` against the latest `dev` after the
CI / merge-gate fact changed.
## Runtime path rechecked
```text
JDBC bounded source split lifecycle
-> JdbcSourceSplitEnumerator.run()
-> creates/assigns table splits
-> tracks unfinishedSplitsPerTable and readersPerTable
-> signals noMoreSplits after assignment
reader consumes one table split
-> JdbcSourceReader.pollNext(...)
-> read all rows from the split
-> finally send JdbcSplitFinishedEvent(tablePath) back to enumerator
enumerator receives split-finished event
-> JdbcSourceSplitEnumerator.handleSourceEvent(...)
-> decrement remaining split count for that table
-> when it reaches zero, send JdbcTableFinishedEvent to every reader
that owned that table
reader receives table-finished event
-> JdbcSourceReader.handleSourceEvent(...)
-> enqueue CloseTableEvent(tablePath, sourceSubtaskId,
expectedSourceEventCount)
-> next pollNext emits CloseTableEvent before reading another split
-> snapshotState persists pending close-table state as a synthetic
JdbcSourceSplit marker
engine / transform / sink path
-> SourceFlowLifeCycle / SourceEnumeratorEventOperation route source events
-> SeaTunnelSourceCollector can collect CloseTableEvent
-> TransformFlowLifeCycle maps CloseTableEvent through transforms
-> TableRenameTransform.mapCloseTableEvent(...) rewrites table id when
needed
-> SinkFlowLifeCycle.received(...)
-> SupportCloseTableSinkWriter.handleCloseTableEvent(...)
-> MultiTableSinkWriter.handleCloseTableEvent(...)
-> wait until all expected upstream close events arrive
-> mark table pending-close, not closed
-> normal rows are still accepted while pending
-> snapshotState drains queues, snapshots the table state, then
closePendingTables()
-> later rows for the closed table are rejected
```
## Merge conclusion
### Conclusion: source blocker cleared from Daniel's side; sync latest `dev`
and rerun CI first
1. Blocking items
- None reopened from Daniel's source review on this unchanged head.
- This branch is behind upstream (`compare status: diverged`, `ahead_by=14`,
`behind_by=1`), and the current failing gate is `FAILURE gate: Build`:
https://github.com/apache/seatunnel/runs/86908002303
2. Lowest-cost next step
- Please sync with the latest `dev` and rerun the failing gate first.
- If it still fails on the updated head, I can help narrow down the new
failure from there.
Daniel only has `READ` permission on this repository, so a write-capable
maintainer may still need to handle the final approval / dismissal step once
the gate is clear.
--
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]