YARN-11961. JSON fallback for DTOs not in serialization allowlists.#8478
Open
riya2305 wants to merge 2 commits intoapache:trunkfrom
Open
YARN-11961. JSON fallback for DTOs not in serialization allowlists.#8478riya2305 wants to merge 2 commits intoapache:trunkfrom
riya2305 wants to merge 2 commits intoapache:trunkfrom
Conversation
|
💔 -1 overall
This message was automatically generated. |
|
🎊 +1 overall
This message was automatically generated. |
There was a problem hiding this comment.
Pull request overview
This PR addresses RM web service JSON content-negotiation failures for JAXB DTOs that are not present in the ResourceManager webapp’s wrapped/unwrapped allowlists by adding a fallback in ExcludeRootJSONProvider to treat unlisted @XmlRootElement types as unwrapped JSON.
Changes:
- Extend
ExcludeRootJSONProviderselection logic to accept unlisted@XmlRootElement-annotated types as unwrapped JSON, while still rejecting explicitly wrapped DTOs. - Add a focused unit test covering fallback behavior, explicit allowlisted unwrapped behavior, wrapped rejection, and non-JAXB rejection.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
.../jsonprovider/TestExcludeRootJSONProviderFallback.java |
Adds unit coverage validating the new fallback selection logic and existing wrapped/unwrapped behavior. |
.../jsonprovider/ExcludeRootJSONProvider.java |
Implements @XmlRootElement fallback for DTOs not present in wrapped/unwrapped allowlists, ensuring JSON provider compatibility. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description of PR
Jersey/MOXy only binds DTOs that appear on the RM webapp’s wrapped/unwrapped class lists. DTOs with @XmlRootElement that are missing from both lists can fail JSON negotiation. Extend ExcludeRootJSONProvider so unlisted JAXB root types are treated as unwrapped JSON.
For code changes:
LICENSE,LICENSE-binary,NOTICE-binaryfiles?AI Tooling
If an AI tool was used:
where is the name of the AI tool used.
https://www.apache.org/legal/generative-tooling.html