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

   ## What is the purpose of the change
   
   This pull request introduces a new configuration option 
web.execution-graph.cache-ttl that allows users to configure the TTL 
(Time-to-Live) for the ExecutionGraph cache independently from the 
web.refresh-interval.
   Previously, the ExecutionGraph cache TTL was implicitly tied to the web 
refresh interval, which made it difficult for users who need real-time job 
state synchronization (e.g., for monitoring dashboards or orchestration 
systems) to get fresh ExecutionGraph data without affecting the overall web UI 
refresh behavior.
   With this change, users can:
     - Set web.execution-graph.cache-ttl to a small value (or 0) to always 
fetch fresh ExecutionGraph data
     - Keep the web UI refresh interval at a reasonable value for normal 
dashboard usage
     - Maintain backward compatibility by defaulting to the 
web.refresh-interval when not explicitly configured
   
   
   ## Brief change log
     - *Added new configuration option web.execution-graph.cache-ttl in 
WebOptions with fallback to web.refresh-interval*
     - *Extended RestHandlerConfiguration to parse and hold the new 
ExecutionGraph cache TTL parameter with non-negative validation*
     - *Updated RestEndpointFactory.createExecutionGraphCache() to use the 
dedicated TTL configuration instead of refresh interval*
     - *Added unit tests covering default fallback behavior, custom values, 
zero value, and negative value validation*
     - *Updated web configuration documentation to include the new option*
   
   
   ## Verifying this change
   This change added tests and can be verified as follows:
   
     - *Added RestHandlerConfigurationTest#testExecutionGraphCacheTTLDefault() 
to verify the default fallback to web.refresh-interval*
     - *Added 
RestHandlerConfigurationTest#testExecutionGraphCacheTTLCustomValue() to verify 
independent configuration of cache TTL*
     - *Added 
RestHandlerConfigurationTest#testExecutionGraphCacheTTLZeroValue() to verify 
zero value support for real-time synchronization scenarios*
     - *Added 
RestHandlerConfigurationTest#testExecutionGraphCacheTTLNegativeValue() to 
verify negative value validation throws IllegalArgumentException*
   
   ## 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)
   
   ## Documentation
   
     - Does this pull request introduce a new feature? (yes)
     - If yes, how is the feature documented? (docs / JavaDocs )
   


-- 
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