jianyexi opened a new issue, #12951:
URL: https://github.com/apache/gluten/issues/12951

   ### Backend
   
   VL (Velox)
   
   ### Bug description
   
   **Expected behavior:** Installing `backends-velox` with a Spark 4.x profile 
should publish dependency metadata containing that profile's resolved Arrow 
version and scopes. A later module-only build should therefore resolve one 
consistent Arrow version.
   
   **Actual behavior:** The installed `backends-velox` POM retains 
`${arrow.version}`. When a consumer runs outside the original Maven reactor, 
Maven resolves that property from the parent default (`15.0.0`) even though 
Spark 4.0 and 4.1 select Arrow `18.1.0` and `18.3.0`, respectively. This can 
mix Arrow 15 and 18 artifacts on the test classpath.
   
   A Spark 4.1 module-only test then fails with:
   
   ```text
   java.lang.NoClassDefFoundError: 
org/apache/arrow/vector/types/pojo/ArrowType$Utf8View
   ```
   
   Reproduction:
   
   1. Install Gluten with the Velox, Spark 4.1, Java 17, and Scala 2.13 
profiles.
   2. In a subsequent Maven invocation, run only the Spark 4.1 unit-test module 
without `-am`, so Maven consumes the installed `backends-velox` POM.
   3. Inspect the dependency tree or run tests.
   4. Observe `arrow-c-data:18.3.0` alongside `arrow-vector:15.0.0`, followed 
by the missing `ArrowType$Utf8View` class.
   
   Running with `-am` masks the problem by keeping `backends-velox` in the 
active Spark-profile reactor. The installed and published POM should instead 
contain flattened, profile-resolved metadata.
   
   This issue was written with the assistance of GitHub Copilot CLI 1.0.80.
   
   ### Gluten version
   
   main branch
   
   ### Spark version
   
   Spark-4.0.x and Spark-4.1.x
   
   ### Spark configurations
   
   Maven profiles:
   
   ```text
   -Pbackends-velox -Pspark-4.1 -Pscala-2.13 -Pjava-17
   ```
   
   The equivalent Spark 4.0 profile is also affected. Spark 3.3–3.5 
intentionally use Arrow 15.0.0 and should remain unchanged.
   
   ### System information
   
   Reproduced in the local Gluten Linux development container using JDK 17 and 
Maven through `./build/mvn`.
   
   ### Relevant logs
   
   ```text
   arrow-c-data:18.3.0
   arrow-vector:15.0.0
   java.lang.NoClassDefFoundError: 
org/apache/arrow/vector/types/pojo/ArrowType$Utf8View
   ```
   
   A full reactor build with `-am` resolves Arrow 18.3.0 consistently, 
confirming that the failure depends on consuming the installed POM.


-- 
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]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to