Skip to content

[BP-2.2][FLINK-40093][runtime] Resume idle splits by alignment check if previously paused#28691

Open
Efrat19 wants to merge 1 commit into
apache:release-2.2from
Efrat19:FLINK-40093-22
Open

[BP-2.2][FLINK-40093][runtime] Resume idle splits by alignment check if previously paused#28691
Efrat19 wants to merge 1 commit into
apache:release-2.2from
Efrat19:FLINK-40093-22

Conversation

@Efrat19

@Efrat19 Efrat19 commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

Backporting #28689

@Efrat19 Efrat19 changed the base branch from master to release-2.2 July 8, 2026 12:55
@flinkbot

flinkbot commented Jul 8, 2026

Copy link
Copy Markdown
Collaborator

CI report:

Bot commands The @flinkbot bot supports the following commands:
  • @flinkbot run azure re-run the last Azure build

…ously paused

Usually pauseOrResumeSplits pauses idleness timer for the split so it isn't marked idle while paused. However with low idleness timeout (observed with 1s) + low allowed WM drift, a race condition could cause paused splits to never resume though they have records:

1. A split becomes paused due to too advanced records.
2. pauseOrResumeSplits pauses the split.
3. pauseOrResumeSplits reaches to pause the split idleness clock but is {idlenessTimeout} too late, and the split becomes idle.
4. The watermark advances but the split is excluded from the watermark alignment check due to its idleness.
5. More records arrive but the split is paused at the connector level so they aren't processed, nor seen by watermarkGenerator so it still considers the split idle
The PR aims to fix it by preserving the part where idle splits are excluded from alignment pause (to not override their idle status) while allowing alignment check to resume splits even if they are currently idle.
They are considered idle until they emit the next record.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants