Skip to content

[FLINK-35595][core] MailboxProcessor#processMailsWhenDefaultActionUnavailable avoids allocating Optional #24923

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

schlosna
Copy link
Contributor

@schlosna schlosna commented Jun 12, 2024

What is the purpose of the change

Reduce allocations and garbage collection overhead due to Optionals on hot path from org.apache.flink.streaming.runtime.tasks.mailbox.MailboxProcessor#runMailboxLoop.

This was observed while investigating allocation stalls and GC pressure of a Flink streaming pipeline, there were significant allocations of Optional in JFRs from org.apache.flink.streaming.runtime.tasks.mailbox. MailboxProcessor#processMailsWhenDefaultActionUnavailable().

Brief change log

  • Remove unnecessary allocation of Optionals in org.apache.flink.streaming.runtime.tasks.mailbox. MailboxProcessor#processMailsWhenDefaultActionUnavailable() method

Verifying this change

This change is already covered by existing tests org.apache.flink.streaming.runtime.tasks.mailbox.TaskMailboxProcessorTest.

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): not per record, but mailbox is performance sensitive
  • 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

@flinkbot
Copy link
Collaborator

flinkbot commented Jun 12, 2024

CI report:

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

@schlosna schlosna changed the title MailboxProcessor#processMailsWhenDefaultActionUnavailable avoids allocating Optional [FLINK-35595 ][core] MailboxProcessor#processMailsWhenDefaultActionUnavailable avoids allocating Optional Jun 13, 2024
@schlosna schlosna marked this pull request as ready for review June 13, 2024 23:03
@schlosna schlosna changed the title [FLINK-35595 ][core] MailboxProcessor#processMailsWhenDefaultActionUnavailable avoids allocating Optional [FLINK-35595][core] MailboxProcessor#processMailsWhenDefaultActionUnavailable avoids allocating Optional Jun 13, 2024
Copy link

github-actions bot commented Apr 6, 2025

This PR is being marked as stale since it has not had any activity in the last 90 days.
If you would like to keep this PR alive, please leave a comment asking for a review.
If the PR has merge conflicts, update it with the latest from the base branch.

If you are having difficulty finding a reviewer, please reach out to the
community, contact details can be found here: https://flink.apache.org/what-is-flink/community/

If this PR is no longer valid or desired, please feel free to close it.
If no activity occurs in the next 30 days, it will be automatically closed.

@github-actions github-actions bot added the stale label Apr 6, 2025
@schlosna
Copy link
Contributor Author

@flinkbot run azure

@github-actions github-actions bot removed the stale label Apr 28, 2025
Copy link

This PR is being marked as stale since it has not had any activity in the last 90 days.
If you would like to keep this PR alive, please leave a comment asking for a review.
If the PR has merge conflicts, update it with the latest from the base branch.

If you are having difficulty finding a reviewer, please reach out to the
community, contact details can be found here: https://flink.apache.org/what-is-flink/community/

If this PR is no longer valid or desired, please feel free to close it.
If no activity occurs in the next 30 days, it will be automatically closed.

@github-actions github-actions bot added the stale label Jul 28, 2025
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