jubins opened a new pull request, #28202: URL: https://github.com/apache/flink/pull/28202
## What is the purpose of the change Fixes https://issues.apache.org/jira/browse/FLINK-39711 — exposes the `maxExceptions` query parameter on `JobExceptionsMessageParameters` and `ApplicationExceptionsMessageParameters` so that Java clients of Flink's typed REST API can bound the size of exception history responses. Previously the `MaxExceptionsParameter` field was inaccessible to callers, forcing downstream clients such as `flink-kubernetes-operator` to fetch the full job exception history on every observation tick — wasting network bytes, JobManager-side serialization time, and operator JVM memory for long-running jobs with large exception histories. ## Brief change log - Made `MaxExceptionsParameter` accessible in `JobExceptionsMessageParameters` so callers can set it via the typed REST client - Applied the same fix to `ApplicationExceptionsMessageParameters` which had the identical gap - Added unit test coverage verifying that `maxExceptions` is correctly included as a query parameter in both message parameter classes ## Verifying this change This change added tests and can be verified as follows: - Added unit tests to verify that `maxExceptions` is registered as an optional query parameter in `JobExceptionsMessageParameters` and `ApplicationExceptionsMessageParameters` - Verified that existing tests for both classes continue to pass without modification - Manually verified that the parameter is correctly serialized into the REST request URL when set by a client ## 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 — change is additive only - The serializers: no - The runtime per-record code paths (performance sensitive): no - Anything that affects deployment or recovery (JobManager, Checkpointing, Kubernetes/Yarn, ZooKeeper): no - The S3 file system connector: no ## Documentation - Does this pull request introduce a new feature? no — it exposes an existing server-side parameter to Java clients - If yes, how is the feature documented? not applicable --- ##### Was generative AI tooling used to co-author this PR? <!-- If generative AI tooling has been used in the process of authoring this PR, please change the checkbox below to `[X]` followed by the name of the tool, and uncomment the "Generated-by" line. See the ASF Generative Tooling Guidance for details: https://www.apache.org/legal/generative-tooling.html You are responsible for the quality and correctness of every change in this PR regardless of the tooling used. Low-effort AI-generated PRs will be closed. See AGENTS.md for the full guidance. --> - [x] Yes — Claude was used as a pair-programming assistant for discussing the approach and implementation structure. All code was written, understood, and verified by the author. Generated-by: Claude Opus 4.7 -- 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]
