Skip to content

Conversation

jiexray
Copy link
Contributor

@jiexray jiexray commented Sep 23, 2025

Implement AsyncProcessingTimeoutTrigger, the async state version of ProcessingTimeoutTrigger

Before this pr, ProcessingTimeoutTrigger only supports sync state mode. After this pr, user can use AsyncProcessingTimeoutTrigger, and enable async state mode.

Brief change log

  • Add AsyncProcessingTimeoutTrigger, support ProcessingTimeoutTrigger in async mode.

Verifying this change

  • Parameterize ProcessingTimeoutTriggerTest to test both sync and async state mode.

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

@flinkbot
Copy link
Collaborator

flinkbot commented Sep 23, 2025

CI report:

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

@jiexray
Copy link
Contributor Author

jiexray commented Sep 23, 2025

@Zakelly Could you have a look at this pr, which resolves this ticket.

Copy link
Contributor

@Zakelly Zakelly left a comment

Choose a reason for hiding this comment

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

Thanks for the PR! I was thinking it's better we use this converter in AsyncTriggerConverter

@jiexray
Copy link
Contributor Author

jiexray commented Sep 25, 2025

Thanks for the PR! I was thinking it's better we use this converter in AsyncTriggerConverter

@Zakelly Thank you for review. That's a good idea. I have intergrated ProcessingTimeoutTrigger to AsyncTriggerConverter.

The changes in brief:

  • flink-runtime: Introduce a new interface (AsyncTriggerConvertable). A trigger implemented the interface has an API (convertToAsync) to spawn its async version.
  • flink-streaming-java: ProcessingTimeoutTrigger implements AsyncTriggerConvertable.
  • tests: ProcessingTimeoutTriggerTest uses AsyncTriggerConverter#convertToAsync to generate the async version of ProcessingTimeoutTrigger.

@jiexray
Copy link
Contributor Author

jiexray commented Sep 25, 2025

@flinkbot run azure

@jiexray jiexray changed the title [FLINK-38364][runtime] Implement async state version of ProcessingTimeoutTrigger [FLINK-38364][streaming-java] Implement async state version of ProcessingTimeoutTrigger Sep 26, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants