rangareddy commented on PR #19491:
URL: https://github.com/apache/hudi/pull/19491#issuecomment-5175202215
The `validate-bundles (scala-2.12, ..., spark3.3)` failure was **this PR's
own bug**, not a flake and not a real bundle problem. Fixed in `0591f7c`.
The step reported:
```
::warning::validate_presto_bundle.sh validating
hudi-presto-bundle-1.3.0-SNAPSHOT-javadoc.jar
::error::org/apache/hudi/hadoop/HoodieParquetInputFormat.class is missing
```
It validated the **javadoc jar**. My selector was:
```bash
ls .../hudi-presto-bundle-*.jar | grep -v sources | head -1
```
This job builds with `-DdeployArtifacts=true`, so sources *and* javadoc jars
exist. `-` (0x2D) sorts before `.` (0x2E), so
`hudi-presto-bundle-<version>-javadoc.jar` comes first, and `grep -v sources`
did not exclude it. A plain `mvn package` produces no javadoc jar, which is
exactly why this passed locally and failed on the first CI run — the wiring was
the one part I flagged in the description as only verifiable by CI.
Two changes:
1. Name the jar exactly, from the project version — the same idiom this job
already uses for `ci_run.sh`, and no globbing at all:
```bash
HUDI_VERSION=$(mvn help:evaluate -Dexpression=project.version -q
-DforceStdout)
./packaging/bundle-validation/validate_presto_bundle.sh \
"packaging/hudi-presto-bundle/target/hudi-presto-bundle-${HUDI_VERSION}.jar"
```
2. Make the script refuse a `-sources`/`-javadoc`/`-tests` jar and say what
to pass instead, so a future caller cannot repeat this and get a misleading
missing-class error rather than the real one.
Reproduced and verified locally under CI's conditions this time — built with
`-DdeployArtifacts=true` so all three jars exist:
```
old selector would pick: hudi-presto-bundle-1.3.0-SNAPSHOT-javadoc.jar
script now rejects it: "... is not the main artifact. Pass
...-<version>.jar instead." exit=1
exact path: 109 org/apache/hudi/hadoop/** entries, validation
successful exit=0
```
Note the other three `validate-bundles` legs were cancelled by fail-fast
rather than passing; they would have failed identically.
`validate-bundle-spark4` and `validate-bundles-java11` were green because the
step is only in the `validate-bundles` job, which is the one that builds the
presto bundle's dependencies.
--
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]