Skip to content

[FLINK-39620] [table-runtime] Add restored cumulative window regression#28530

Open
qiuyanjun888 wants to merge 1 commit into
apache:masterfrom
qiuyanjun888:fix/flink-39620-20260625-084608-a1
Open

[FLINK-39620] [table-runtime] Add restored cumulative window regression#28530
qiuyanjun888 wants to merge 1 commit into
apache:masterfrom
qiuyanjun888:fix/flink-39620-20260625-084608-a1

Conversation

@qiuyanjun888

Copy link
Copy Markdown

What is the purpose of the change

This pull request adds regression coverage for FLINK-39620. It verifies that after restoring a cumulative window aggregate, flushing the global window buffer before receiving another watermark does not re-emit expired cumulative windows.

Brief change log

  • Added a global cumulative window aggregate recovery regression test that snapshots, restores, flushes the buffer, and confirms old windows are not emitted again.
  • Added a small test helper for building global window aggregate operators with local accumulator rows.

Verifying this change

This change added tests and can be verified as follows:

  • ./mvnw -pl flink-table/flink-table-runtime -Dtest=SlicingWindowAggOperatorTest#testGlobalEventTimeCumulativeWindowsDoNotRefireExpiredWindowAfterRestore -DskipITs -Drat.skip=true test
  • ./mvnw -pl flink-table/flink-table-runtime -Dtest=SlicingWindowAggOperatorTest -DskipITs -Drat.skip=true test

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: no (test-only change)
  • 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?
  • Yes (Hermes Agent / OpenAI GPT-5.5)

Generated-by: Hermes Agent (OpenAI GPT-5.5)

@flinkbot

flinkbot commented Jun 25, 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

@spuru9 spuru9 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changes look good. One minor nit.
Can you work on making build green.


testHarness.prepareSnapshotPreBarrier(0L);
OperatorSubtaskState snapshot = testHarness.snapshot(0L, 0);
testHarness.close();

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: (Optional) Unlike all other restore/close tests in this file this one never asserts globalAggsFunction.closeCalled / stateAggsFunction.closeCalled after close().

@github-actions github-actions Bot added the community-reviewed PR has been reviewed by the community. label Jun 26, 2026
@qiuyanjun888

Copy link
Copy Markdown
Author

@flinkbot run azure

The failed Azure build appears unrelated to this PR. It failed while Maven was resolving the CycloneDX plugin dependency (org.cyclonedx:cyclonedx-core-java:9.0.5) with Premature end of Content-Length delimited message body. This PR only changes table-runtime test files and does not touch Maven/plugin configuration.

@qiuyanjun888

Copy link
Copy Markdown
Author

@flinkbot run azure

@qiuyanjun888

Copy link
Copy Markdown
Author

This PR is focused on table-runtime / window aggregate regression test.
There has already been community review/comment, but it still needs maintainer review.

@fhueske @lincoln-lil @JingsongLi could you please take a look when you have time and advise whether this approach is acceptable for this area and can move forward?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

community-reviewed PR has been reviewed by the community.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants