li3zhi4 commented on PR #11677: URL: https://github.com/apache/seatunnel/pull/11677#issuecomment-5238891603
Thanks @DanielLeens for the fresh review on `7fd089a71` — agreed that the fixed 3s sleep in the fault-injection step was a timing assumption that could silently turn the e2e into a no-op under CI load. Replaced it with a condition-based wait on a positive signal, per your suggestion (log-based check, same pattern the kafka e2e already uses): **Change (head `779c961f3`):** after the `UPDATE f_bigint=20000` fault injection, the test now awaits the engine logs (incrementally, from a captured offset) for the `injected sink failure` message from the trigger, up to 30s. Only after that positive signal is observed does the `finally` block drop the trigger. If the injected failure never fires, the await times out and the test fails loudly instead of passing silently. The job-status signal was not usable because on dev the job status stays `RUNNING` throughout the restart window (verified by polling during a diagnostic run). **Local verification:** `MysqlCDCIT#testMysqlCdcContinuesAfterSinkFailure` passes on the new head (1/1, ~88s, `BUILD SUCCESS`), with the full path snapshot → checkpoint → injected sink failure observed in logs → trigger dropped → Zeta restore → replay succeeds → `f_bigint=30000` injected → consistency re-asserted. spotless passes on the affected module, and `git diff --check` is clean. The production fix and unit test remain byte-for-byte unchanged from what you and @SEZ9 already traced. CI on `779c961f3` will exercise the updated e2e. -- 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]
