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]

Reply via email to