smattheis opened a new pull request, #19398:
URL: https://github.com/apache/flink/pull/19398

   ## What is the purpose of the change
   
   * Fix performance regression from mailbox latency measuement
   * __Note:__ The performance implications, i.e., recovery of performance 
values, are documented in https://issues.apache.org/jira/browse/FLINK-26864. 
(Please review the performance results in the linked issue.) 
   
   ## Brief change log
   
   * Trigger mailbox latency measurement from `MailboxProcessor` class instead 
from `StreamTask` class. This way, measurement can be initiated selectively 
only when mails are executed which is, in particular, on any non-poison mail.
   * To resolve cyclic dependencies between `MailboxProcessor` which starts 
mailbox measurement with `StreamTask` which holds references to 
`MailboxExecutor` and `TimerServices` that are both needed for scheduling 
mailbox latency measurements an additional class `MailboxMetricsController` is 
introduced that holds the dependencies and provides control functions. 
   
   ## Verifying this change
   
   Please make sure both new and modified tests in this PR follows the 
conventions defined in our code quality guide: 
https://flink.apache.org/contributing/code-style-and-quality-common.html#testing
   
   This change is already covered by existing tests that are updated 
respectively. The relevant tests are:
   * StreamTaskTest#testMailboxMetricsScheduling
   * StreamTaskTest#testMailboxMetricsMeasurement
   * TaskMailboxProcessorTest#testRunDefaultActionAndMails
   
   ## 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): __yes__
     - Anything that affects deployment or recovery: __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__
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to