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]

Reply via email to