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]