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]

Reply via email to