fatmanverse commented on PR #11487: URL: https://github.com/apache/seatunnel/pull/11487#issuecomment-5018333222
@nzw921rx Thanks for the detailed review. I addressed the requested changes in commit e22ab12d7.\n\n1. Snapshot-only restore now treats the checkpointed table set as authoritative. It collects tables from processed tables, remaining tables, remaining snapshot splits, and assigned snapshot splits, and does not call catalog discovery on the snapshot-only restore path. Legacy checkpoint state is also marked as having checkpointed remaining tables before the snapshot assigner opens, so it cannot rediscover the catalog. The new unit coverage verifies that a newly created table is excluded after restore.\n\n2. The E2E now reuses MysqlCDCDriverResolver and copies the Maven-resolved Connector/J into the container. It no longer downloads a driver from inside the container, and the test uses the declared 8.0.27 driver.\n\n3. Both existing public HybridSplitAssigner constructors are retained and delegate to the new overloads with snapshotOnly = false.\n\n4. Snapshot-only validation now runs before datasource, dialect, deserializer, and offset initialization. It rejects stop modes other than never, startup.specific-offset.*, and startup.timestamp. The negative test verifies that startup.timestamp fails before source initialization.\n\n5. The E2E seeds 103 rows and sets snapshot.split.size = 1, so multiple snapshot splits are exercised. It starts the job asynchronously, waits until rows from early splits are visible while later splits are still outstanding, updates and deletes rows from completed snapshot ranges, and verifies that the sink remains exactly the original snapshot result. The test passed all 5 runtime invocations: Flink 1.13.6, 1.15.3, 1.18.0, 1.20.1, and Zeta. The Zeta run reported 103 records read, 103 written, and 0 failed.\n\n6. exactly_once remains supported for both initial and snapshot startup modes. The snapshot mode documentation now describes the bounded low-to-high-watermark backfill semantics and the controlled concurrent-write E2E coverage. Snap shot-only still never enters continuous binlog streaming.\n\nValidation completed:\n- ./mvnw spotless:apply\n- CDC base targeted tests: 6 tests passed\n- MySQL factory tests: 2 tests passed\n- MysqlCDCSnapshotOnlyIT: 5 tests passed\n- git diff --check\n\nThe repository-wide -DskipTests verify is still blocked by pre-existing origin/dev compilation errors in connector-jdbc, including the duplicate setNullToStatementByDataType method and missing generated methods. No connector-jdbc files are changed in this PR. The full test run is also blocked by the existing seatunnel-config-shade shaded Typesafe Config ClassNotFoundException. -- 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]
