The GitHub Actions job "Nightly (beta)" on flink.git/master has failed. Run started by GitHub user github-actions[bot] (triggered by github-actions[bot]).
Head commit for run: 98ab58c023ea8abeceab04108bd939e596a0b078 / Roman Khachatryan <[email protected]> [FLINK-39522] Defer task finish until recovery completes A task that reaches END_OF_INPUT during recovery -- e.g. a bounded/batch operator whose input is already fully available behind a blocking exchange, as seen on TPC-H/TPC-DS HashAggregate -- previously suspended the restore mailbox loop immediately. With checkpointing during recovery the recovery future completes asynchronously, so this could end the restore loop before recovery finished, tripping checkState(allGatesRecoveredFuture.isDone()) in restoreInternal with "Mailbox loop interrupted before recovery was finished". Input is intentionally processed during recovery (so checkpoint barriers can arrive from inputs); the bug is only the premature lifecycle finish. When END_OF_INPUT is reached while recovery is still in progress, suspend only the default action (to avoid busy-spinning) and resume it once recovery completes, via a new recoveryCompletionFuture field set in restoreStateAndGates. processInput then re-fires END_OF_INPUT from the main mailbox loop and finishes normally. Sources remain covered by the no-input-gates short-circuit. Validated with a deterministic repro (bounded BATCH job, recovery window widened): the race reproduces with this deferral disabled and is gone with it enabled. Full regression green: heavy-deployment e2e 6/6; ChainOrderTest, KeyedComplexChainTest, KeyedPartitionWindowedStreamITCase; UnalignedCheckpoint {,Rescale}ITCase (the with-recovered-state path) 11/11 and 50/50. Report URL: https://github.com/apache/flink/actions/runs/29671011225 With regards, GitHub Actions via GitBox
