fxbing opened a new pull request, #4541: URL: https://github.com/apache/flink-cdc/pull/4541
## What is the purpose of this pull request? Fix repeated `Unexpected evolving status: EVOLVING` failures after a failed schema update and same-instance coordinator recovery. Restoring only the schema manager leaves the previous attempt's transient protocol state behind, preventing schema requests from being replayed. See [FLINK-40656](https://issues.apache.org/jira/browse/FLINK-40656). ## Brief change log - Fence queued and incoming work during reset, and wait for the previous schema-change worker to terminate before installing restored state. - Reinitialize transient state in both schema coordinators, restore an empty schema manager for null checkpoint state, and preserve schemas restored before startup. - Complete cancelled request/checkpoint futures exceptionally and suppress failure callbacks from the resetting attempt. --- ## Verifying this change - Added coordinator regressions for failed-apply recovery, null state, restore-before-start, late success/failure, bounded reset timeout/retry, and queued request/checkpoint rejection. The original recovery test reproduces `Unexpected evolving status: EVOLVING` without the fix. - Verified `SchemaCoordinatorTest` and `SchemaEvolveTest` with Java 11 / Flink 1.20.3 and Java 17 / Flink 2.2.0 using clean builds; 20 tests passed in each configuration. - Spotless and `git diff --check` passed. - A temporary embedded Fluss recovery test passed with the three modified coordinator classes overlaid on the existing Java 11 / Flink 1.17 test environment: stop the Sink Coordinator, add a source column, restore the coordinator, and verify target schemas, full rows, and PK updates/deletes. Log replay duplicates are allowed; this was not a packaged-release E2E run. ## Documentation - Does this pull request introduce a new feature? No. - If yes, how is the feature documented? Not applicable. --- ##### Was generative AI tooling used to co-author this PR? - [X] Yes — Codex CLI; Claude assisted with design and review. Generated-by: Codex CLI 0.153.4 -- 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]
