Skip to content

Fix CI build failures: duplicate javadoc plugin and Jackson version mismatch - #3195

Closed
junkaixue wants to merge 1 commit into
apache:masterfrom
junkaixue:fix-ci-build-failures
Closed

junkaixue wants to merge 1 commit into
apache:masterfrom
junkaixue:fix-ci-build-failures

Conversation

@junkaixue

Copy link
Copy Markdown
Contributor

Issues

  • My PR addresses the following Helix issues and references them in the PR description:

Addresses the root cause behind the recent continuous scheduled CI failures (and the flood of auto-filed [Failed CI Test] issue updates), e.g. #3186, #3180, #3179 were unable to even run because the build fails.

Description

  • Here are some details about my PR, including screenshots of any UI changes:

Every scheduled Helix CI run on master currently fails before any test executes, for two stacked reasons:

1. Duplicate maven-javadoc-plugin in root pom pluginManagement

PR #2510 added a 3.5.0 declaration (line ~682) without removing the old 3.2.0 skip=true block (line ~616). Older Maven only warned; the newer Maven on GitHub's runners treats it as a fatal model error:

[ERROR] 'build.pluginManagement.plugins.plugin.(groupId:artifactId)' must be unique but found duplicate declaration of plugin org.apache.maven.plugins:maven-javadoc-plugin @ line 682

Since ~Oct 10 every run dies at POM parsing ("No test failure report found"). Removed the stale 3.2.0 block, keeping the 3.5.0 one that #2510 intentionally added.

2. Jackson version mismatch (runs before Oct 10 that did reach tests)

Dependabot bumped jackson-databind to 2.22.x per-module while jackson-annotations stayed at 2.18.6 (helix-rest) and jackson-core at 2.18.11 (helix-core, helix-view-aggregator). databind 2.22 references annotation classes that don't exist in 2.18, so helix-rest tests crashed at class-load time:

An error occurred while instantiating class org.apache.helix.rest.server.TestAuthValidator: com/fasterxml/jackson/annotation/JsonSerializeAs

Aligned all modules on jackson-databind/jackson-core 2.22.3 and jackson-annotations 2.22 (jackson-annotations now releases without a patch digit — there is no 2.22.0).

Tests

  • The following is the result of the "mvn test" command on the appropriate module:

Verified locally with JDK 11:

  • mvn clean install -DskipTests passes (previously failed at POM parse with newer Maven).
  • mvn test -Dtest=TestAuthValidator in helix-rest: Tests run: 2, Failures: 0, Errors: 0 (previously NoClassDefFoundError at instantiation).
  • mvn test -Dtest=TestZNRecordSerializer,TestZNRecordStreamingSerializer,TestJacksonPayloadSerializer,TestZNRecord in helix-core: Tests run: 18, Failures: 0, Errors: 0.

Documentation (Optional)

  • In case of new functionality, my PR adds documentation in the following wiki page: N/A

Commits

  • My commits all reference appropriate Apache Helix GitHub issues in their subject lines.

Code Quality

  • My diff has been formatted using helix-style.xml

🤖 Generated with Claude Code

…ismatch

Every scheduled Helix CI run currently fails before tests execute:

1. The root pom declared maven-javadoc-plugin twice in pluginManagement
   (3.2.0 skip=true left behind when apache#2510 added 3.5.0). Newer Maven on
   the GitHub runners treats the duplicate as a fatal model error:
   'build.pluginManagement.plugins.plugin.(groupId:artifactId)' must be
   unique. Removed the stale 3.2.0 block.

2. Dependabot bumped jackson-databind to 2.22.x while jackson-annotations
   (2.18.6) and jackson-core (2.18.11) stayed pinned at 2.18.x. databind
   2.22 references annotation classes that do not exist in 2.18, so
   helix-rest tests crashed at class-load time with
   NoClassDefFoundError: com/fasterxml/jackson/annotation/JsonSerializeAs
   (e.g. TestAuthValidator). Aligned all modules on databind/core 2.22.3
   and annotations 2.22 (annotations now releases without a patch digit).

Verified locally: mvn clean install passes, TestAuthValidator and the
ZNRecord/Jackson serializer tests pass.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@junkaixue junkaixue closed this Oct 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant