SEZ9 commented on PR #12567: URL: https://github.com/apache/seatunnel/pull/12567#issuecomment-5976288130
Thanks for the follow-up. Carrying each table's own checkpoint offset through the reader state, the checkpointed `IncrementalSplit`, the enumerator restore and the fetcher's exactly-once filter seed is the right direction for the earlier concern: at 712db9b0fe the fallback was the split-level startup offset, which is the minimum across tables, so with incremental parallelism greater than 1 restored tables could re-emit already-delivered events under `exactly_once`. I have not yet verified the cf0840a030 diff myself, so I don't want to mark the earlier points resolved on description alone. Since the latest review at cf0840a030 requests changes, it would help if, alongside that, you could point me to where the head diff covers: 1. **Per-table fallback:** the end-to-end path (reader checkpoint, `IncrementalSplit` serialization, enumerator state, re-created fetcher) that seeds every restored table from its own offset, and how a table with no per-table entry is handled. 2. **Integration test:** an IT that enables `exactly_once`, uses incremental parallelism greater than 1, writes to the pre-existing table after restore, and asserts exactly one copy of each event on the sink. 3. **Unit test:** whether the fetcher test now drives `submitTask` or a test-visible hook rather than reaching `configureFilter` via `getDeclaredMethod`. Happy to take another pass once those are in place. <!-- streview-comment:1512 --> -- 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]
