Skip to content

[ci] Maven Shade Plugin occasionally fails with NullPointerException during parallel builds#3880

Description

@fxbing

Search before asking

  • I searched in the issues and found nothing similar.

Fluss version

0.9.0 (latest release)

Please describe the bug 馃悶

The Maven Shade Plugin occasionally fails during the parallel CI build.

Latest failure:

https://github.com/apache/fluss/actions/runs/30992170895/job/92260618471

The failure occurred in the Java 11 / flink2 Build step, which runs:

mvn -T 1C -B clean install -DskipTests

Maven failed while shading fluss-spark-3.5_2.12:

[INFO] Dependency-reduced POM written at: .../fluss-spark-3.5/dependency-reduced-pom.xml
...
[ERROR] Failed to execute goal
org.apache.maven.plugins:maven-shade-plugin:3.4.1:shade
(shade-fluss) on project fluss-spark-3.5_2.12:
Error creating shaded jar: null: NullPointerException

The other matrix jobs in the same CI run completed the Build step successfully.
The related PR only changed server retention code and tests, without modifying
Spark modules or Maven build configuration. This therefore appears to be a
nondeterministic build failure rather than a failure caused by the PR.

Fluss currently uses maven-shade-plugin 3.4.1 with
createDependencyReducedPom=true, while CI builds the Maven reactor in
parallel using -T 1C.

This may be related to
MSHADE-467, which
affects versions 3.4.1 through 3.5.1 and describes Maven session state leaking
between concurrent Shade Mojo executions. Its fix was released in version
3.5.2.

The CI output does not contain the full exception stack trace, so the exact
source of this NullPointerException is not yet confirmed.

Solution

No confirmed fix yet.

A possible solution is to upgrade maven-shade-plugin to a version containing
the MSHADE-467 fix. Apache Flink currently uses version 3.6.1.

If the failure recurs, running Maven with -e would help identify the exact
source of the NullPointerException.

Are you willing to submit a PR?

  • I'm willing to submit a PR!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions