You are viewing a plain text version of this content. The canonical link for it is here.
Posted to yarn-issues@hadoop.apache.org by "ASF GitHub Bot (Jira)" <ji...@apache.org> on 2026/10/06 08:47:00 UTC
[jira] [Commented] (YARN-11989) Timeline server logs SEVERE JAXB schema-generation error
[ https://issues.apache.org/jira/browse/YARN-11989?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18123676#comment-18123676 ]
ASF GitHub Bot commented on YARN-11989:
---------------------------------------
hadoop-yetus commented on PR #8745:
URL: https://github.com/apache/hadoop/pull/8745#issuecomment-6012693135
:confetti_ball: **+1 overall**
| Vote | Subsystem | Runtime | Logfile | Comment |
|:----:|----------:|--------:|:--------:|:-------:|
| +0 :ok: | reexec | 0m 55s | | Docker mode activated. |
|||| _ Prechecks _ |
| +1 :green_heart: | dupname | 0m 0s | | No case conflicting files found. |
| +0 :ok: | codespell | 0m 0s | | codespell was not available. |
| +0 :ok: | detsecrets | 0m 0s | | detect-secrets was not available. |
| +1 :green_heart: | @author | 0m 0s | | The patch does not contain any @author tags. |
| +1 :green_heart: | test4tests | 0m 0s | | The patch appears to include 1 new or modified test files. |
|||| _ trunk Compile Tests _ |
| +1 :green_heart: | mvninstall | 49m 20s | | trunk passed |
| +1 :green_heart: | compile | 0m 53s | | trunk passed with JDK Ubuntu-21.0.12.1+1-1-24.04.4-Ubuntu |
| +1 :green_heart: | compile | 0m 53s | | trunk passed with JDK Ubuntu-17.0.20.1+1-1-24.04-Ubuntu |
| +1 :green_heart: | checkstyle | 0m 51s | | trunk passed |
| +1 :green_heart: | mvnsite | 0m 55s | | trunk passed |
| +1 :green_heart: | javadoc | 0m 54s | | trunk passed with JDK Ubuntu-21.0.12.1+1-1-24.04.4-Ubuntu |
| +1 :green_heart: | javadoc | 0m 49s | | trunk passed with JDK Ubuntu-17.0.20.1+1-1-24.04-Ubuntu |
| +1 :green_heart: | spotbugs | 1m 16s | | trunk passed |
| +1 :green_heart: | shadedclient | 34m 27s | | branch has no errors when building and testing our client artifacts. |
|||| _ Patch Compile Tests _ |
| +1 :green_heart: | mvninstall | 0m 25s | | the patch passed |
| +1 :green_heart: | compile | 0m 25s | | the patch passed with JDK Ubuntu-21.0.12.1+1-1-24.04.4-Ubuntu |
| +1 :green_heart: | javac | 0m 25s | | the patch passed |
| +1 :green_heart: | compile | 0m 24s | | the patch passed with JDK Ubuntu-17.0.20.1+1-1-24.04-Ubuntu |
| +1 :green_heart: | javac | 0m 24s | | the patch passed |
| +1 :green_heart: | blanks | 0m 0s | | The patch has no blanks issues. |
| +1 :green_heart: | checkstyle | 0m 20s | | the patch passed |
| +1 :green_heart: | mvnsite | 0m 27s | | the patch passed |
| +1 :green_heart: | javadoc | 0m 24s | | the patch passed with JDK Ubuntu-21.0.12.1+1-1-24.04.4-Ubuntu |
| +1 :green_heart: | javadoc | 0m 23s | | the patch passed with JDK Ubuntu-17.0.20.1+1-1-24.04-Ubuntu |
| +1 :green_heart: | spotbugs | 1m 1s | | the patch passed |
| +1 :green_heart: | shadedclient | 34m 14s | | patch has no errors when building and testing our client artifacts. |
|||| _ Other Tests _ |
| +1 :green_heart: | unit | 4m 6s | | hadoop-yarn-server-applicationhistoryservice in the patch passed. |
| +1 :green_heart: | asflicense | 0m 36s | | The patch does not generate ASF License warnings. |
| | | 136m 43s | | |
| Subsystem | Report/Notes |
|----------:|:-------------|
| Docker | ClientAPI=1.56 ServerAPI=1.56 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-8745/3/artifact/out/Dockerfile |
| GITHUB PR | https://github.com/apache/hadoop/pull/8745 |
| Optional Tests | dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient spotbugs checkstyle codespell detsecrets |
| uname | Linux c450aadabcbe 5.15.0-190-generic #200-Ubuntu SMP Fri Aug 7 15:06:04 UTC 2026 x86_64 x86_64 x86_64 GNU/Linux |
| Build tool | maven |
| Personality | dev-support/bin/hadoop.sh |
| git revision | trunk / 3ce6a2683d597ef1119fcff4ced404208cf0d2a3 |
| Default Java | Ubuntu-17.0.20.1+1-1-24.04-Ubuntu |
| Multi-JDK versions | /usr/lib/jvm/java-21-openjdk-amd64:Ubuntu-21.0.12.1+1-1-24.04.4-Ubuntu /usr/lib/jvm/java-17-openjdk-amd64:Ubuntu-17.0.20.1+1-1-24.04-Ubuntu |
| Test Results | https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-8745/3/testReport/ |
| Max. process+thread count | 570 (vs. ulimit of 10000) |
| modules | C: hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice U: hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice |
| Console output | https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-8745/3/console |
| versions | git=2.43.0 maven=3.9.15 spotbugs=4.9.7 |
| Powered by | Apache Yetus 0.14.1 https://yetus.apache.org |
This message was automatically generated.
> Timeline server logs SEVERE JAXB schema-generation error
> --------------------------------------------------------
>
> Key: YARN-11989
> URL: https://issues.apache.org/jira/browse/YARN-11989
> Project: Hadoop YARN
> Issue Type: Bug
> Components: timelineserver
> Affects Versions: 3.5.0
> Environment: Observed on Hadoop 3.5.0 (rel/release-3.5.0), Jersey 2.46 (as pulled in by
> YARN's Jersey 2 migration), running the Timeline Server v1 (LevelDB storage,
> {{{}yarn.timeline-service.version=1.0f{}}})
> Reporter: Dieter De Paepe
> Priority: Minor
> Labels: pull-request-available
>
> h3. Summary
> Since the Jersey 1 -> Jersey 2 migration landed in the 3.5.0 line, the Timeline
> Server (ATS v1) logs the following at SEVERE level on essentially every timeline
> request:
> {code:java}
> SEVERE org.glassfish.jersey.server.wadl.internal.generators.WadlGeneratorJAXBGrammarGenerator
> - Failed to generate the schema for the JAX-B elements
> {code}
> h3. Root cause
> {{TimelineEntity}} and {{TimelineEntities}} (ATS v1 DAOs, package
> {{{}org.apache.hadoop.yarn.api.records.timeline{}}}) expose {{{}Map{}}}/{{{}Set{}}}-typed
> fields via JAXB-annotated getters, e.g. in TimelineEntity.java:
> {code:java}
> // Required by JAXB
> @XmlElement(name = "relatedentities")
> public HashMap<String, Set<String>> getRelatedEntitiesJAXB() {
> return relatedEntities;
> }
> {code}
> JAXB cannot generate an XSD for a generic {{{}Map{}}}/{{{}Set{}}} without a custom
> {{{}XmlAdapter{}}}, which these getters do not have. Jersey 2's
> {{WadlGeneratorJAXBGrammarGenerator}} builds a full JAXB-based XSD grammar for
> every registered resource class on each {{OPTIONS}} request, so this failure
> fires - and gets logged at SEVERE - on every OPTIONS request the server
> receives.
> This matters in practice because {{TimelineClient}} always issues one: it goes
> through {{TimelineConnector}} -> {{{}AuthenticatedURL{}}}, and both
> {{PseudoAuthenticator}} and {{KerberosAuthenticator}} send an OPTIONS request
> as their authentication probe before the real request. So every single
> TimelineClient call produces one SEVERE log line.
> h3. Relationship to existing issues
> This is effectively a regression of YARN-2804 (fixed in Hadoop 2.6.0, closed
> 2014), which reported the identical symptom
> ({{{}WadlGeneratorJAXBGrammarGenerator{}}} failing on these same Map-typed
> Timeline classes) under Jersey 1 ({{{}com.sun.jersey.server{}}}). That fix worked
> around the problem in Jersey 1's WADL generator; it does not carry over to
> Jersey 2's separate WADL implementation, so the underlying defect (Map/Set
> fields JAXB cannot describe) resurfaced once the server moved to Jersey 2.
> YARN-9554 and YARN-11877 both address the same underlying incompatibility
> (Map/Set fields incompatible with JAXB) but only for actual request/response
> (de)serialization - YARN-11877 registers dedicated Jackson-based
> {{{}TimelineEntityReader{}}}/{{{}TimelineEntityWriter{}}} providers so runtime JSON
> traffic bypasses JAXB entirely. Neither touches WADL generation, which is a
> separate code path that still attempts to build a JAXB grammar for these
> classes regardless of which provider actually handles the request payload.
> h3. Scope
> Only observed on the Timeline Server, unsure if other services are also affected.
> h3. Suggested fix directions
> * Disable WADL generation by default for the Timeline Server context (as is
> effectively already necessary for correct operation, given no client reads
> the generated WADL and the JAX-B model cannot describe it), e.g. via
> {{ServerProperties.WADL_FEATURE_DISABLE}} set on the server's own
> {{{}ResourceConfig{}}}.
> * Alternatively, add \{{XmlAdapter}}s for the Map-typed fields so WADL/JAXB
> schema generation succeeds, mirroring how YARN-9554 addressed the Set
> interface case.
> h3. Workaround
> Passing the following JVM system properties to the Timeline Server disables
> WADL generation entirely:
> {code:java}
> -Djersey.config.allowSystemPropertiesProvider=true
> -Djersey.config.server.wadl.disableWadl=true
> {code}
> ({{{}ALLOW_SYSTEM_PROPERTIES_PROVIDER{}}} is required for Jersey to honor
> {{WADL_FEATURE_DISABLE}} via a system property at all, since
> {{SystemPropertiesConfigurationModel}} only scans {{System.getProperties()}}
> for Jersey config when that flag is itself set - it's an opt-in mechanism
> added in Jersey 2.29.) This is necessary as an external workaround because the
> Timeline Server's {{ResourceConfig}} is constructed inside Hadoop's own code,
> so its properties cannot be set directly by a downstream deployer.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: yarn-issues-unsubscribe@hadoop.apache.org
For additional commands, e-mail: yarn-issues-help@hadoop.apache.org