MartijnVisser opened a new pull request, #29586:
URL: https://github.com/apache/flink/pull/29586

   ## What is the purpose of the change
   
   Migrates the last consumer of the legacy `SourceFunction`-based 
`FailingSource`, `EventTimeWindowCheckpointingITCase`, to 
`FailingCheckpointedSource` (added in FLINK-40098), and deletes `FailingSource`.
   
   ## Brief change log
   
   - `EventTimeWindowCheckpointingITCase` uses `FailingCheckpointedSource` at 
parallelism 1 with the same generator, and shares that source setup with 
`EventTimeAllWindowCheckpointingITCase`.
   - `KeyedEventTimeGenerator` drops the `FailingSource` generator interface.
   - `FailingSource` is deleted, along with the comments that refer to it.
   
   ## Verifying this change
   
   Covered by the migrated test and `checkpointing.LocalRecoveryITCase`, which 
extends it.
   
   - `EventTimeWindowCheckpointingITCase` 36/36, `LocalRecoveryITCase` 9/9, 
`EventTimeAllWindowCheckpointingITCase` 4/4, 
`ProcessingTimeWindowCheckpointingITCase` 4/4.
   - Under CPU load with varied randomization seeds: 
`EventTimeWindowCheckpointingITCase` 8 x 36/36, `LocalRecoveryITCase` 3 x 9/9. 
With unaligned checkpoints forced on the MEM backend: 6/6. Exactly one 
"Artificial Failure" in each of these 410 jobs.
   - Red check, local edit only: with the reader ignoring the restored split 
position, the four sum-validating tests fail on all six backends and 
`LocalRecoveryITCase` fails 9/9, each on a `[Window start: ... end: ...]` 
assertion. The two KV-state tests count window firings, so they stay green with 
or without the edit, as before this change.
   
   As with the FLINK-40098 migrations, the artificial failure is keyed on a 
fresh split rather than on attempt 0. An infrastructure failure before a 
checkpoint past position 0 completes re-arms it, and the job then ends in 
"Recovery is suppressed" with "Artificial Failure" in the cause.
   
   ## Does this pull request potentially affect one of the following parts:
   
   - Dependencies (does it add or upgrade a dependency): no
   - The public API, i.e., is any changed class annotated with 
`@Public(Evolving)`: no
   - The serializers: no
   - The runtime per-record code paths (performance sensitive): no
   - Anything that affects deployment or recovery: JobManager (and its 
components), Checkpointing, Kubernetes/Yarn, ZooKeeper: no
   - The S3 file system connector: no
   
   ## 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 (please specify the tool below)
   
   Generated-by: Claude Code (Claude Opus 5.5)
   


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