li3zhi4 commented on PR #11885:
URL: https://github.com/apache/seatunnel/pull/11885#issuecomment-6159895468

   Thanks @SEZ9 \u2014 I checked the requested interactions on current head 
`7f17332b7a`:\n\n- **F1/F6, same checkpoint serialization path:** 
`IncrementalSourceEnumerator` exposes `getEnumeratorState()` by returning 
`splitAssigner.snapshotState(...)` (`IncrementalSourceEnumerator.java`, 
`getEnumeratorState` around lines 157-161); the engine persists that enumerator 
state through its configured `EnumeratorStateSerializer`. On connector-cdc-base 
there is no dedicated `PendingSplitsStateSerializer` and IncrementalSource does 
not override `getEnumeratorStateSerializer`, so the source-interface default 
serializer applies; the `IncrementalPhaseStateTest` round-trip at `:35-46` uses 
real `ObjectOutputStream`/`ObjectInputStream` (`:64-72`), i.e. the same default 
Java-serialization mechanism, and pins the new field plus legacy null behavior. 
The assigner restore/write path remains `IncrementalSplitAssigner.java:114-125` 
and `:225-227`; the in-flight legacy fallback is `:202-219`.\n- **F2, no 
 split can acquire a later/different latest offset:** all incremental splits 
are created through the one `resolvedStopOffset == null` guard at 
`IncrementalSplitAssigner.java:323-351`. The first call resolves once and 
assigns that value before creating the split; each later split reuses the 
cached value. 
`shouldResolveLatestStopOffsetOnceAtSplitCreationAndReuseAfterRestore` at 
`IncrementalSplitAssignerTest.java:157-197` verifies `latest()` is called once 
and the restored/later split has the same offset; the legacy fallback test is 
at `:200-236`.\n- **F3, the snapshot is demonstrably still active:** 
`MysqlCDCStopModeSpecificIT.java:340-423` uses 2,000 snapshot rows, 
`parallelism=1`, and `snapshot.split.size=20` 
(`mysqlcdc_stop_mode_latest.conf:18-40`), waits for id 1 at the sink, and 
asserts id 2000 is absent before issuing the post-snapshot update at 
`:425-449`. This cannot pass merely because a small snapshot completed 
quickly.\n- **F5 and docs:** retry is three attempts with 300/600
 ms backoff in `IncrementalSplitAssigner.java:379-414`; EN/ZH option semantics 
are `MySQL-CDC.md:203` / `:202`, bounded-read explanation `:544-548` / 
`:536-539`.\n\nThe existing tests establish serialization of the state object 
and assigner reuse across state restoration; they are not a full engine 
checkpoint-container integration test. The actual configured checkpoint path 
nevertheless reaches this state through the default serializer described above. 
No new code change appears necessary for these points.\n


-- 
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