PHILO-HE opened a new pull request, #10942:
URL: https://github.com/apache/incubator-gluten/pull/10942
<!--
Thank you for submitting a pull request! Here are some tips:
1. For first-time contributors, please read our contributing guide:
https://github.com/apache/incubator-gluten/blob/main/CONTRIBUTING.md
2. If necessary, create a GitHub issue for discussion beforehand to avoid
duplicate work.
3. If the PR is specific to a single backend, include [VL] or [CH] in the PR
title to indicate the
Velox or ClickHouse backend, respectively.
4. If the PR is not ready for review, please mark it as a draft.
-->
## What changes are proposed in this pull request?
In Gluten, components like Iceberg depend on an Iceberg JAR (e.g.,
iceberg-spark-runtime-3.4_2.12), which is in "provided" scope. If Iceberg is
enabled at build time or a Gluten release JAR (with all feature modules
enabled) is used, the absence of corresponding classes at runtime can result in
a `ClassNotFoundException`.
By validating runtime compatibility through a core class check, we can:
- Safely reference classes in the component module without relying on
reflection which has perf overhead.
- Prevent `ClassNotFoundException` issues during development of the related
modules.
- Improve the efficiency for Spark plan transformation by avoiding the
execution of inapplicable rules injected by a runtime-not-compatible component.
Related discussion:
https://github.com/apache/incubator-gluten/pull/10900#discussion_r2447034497
<!--
Provide a clear and concise description of the changes introduced in this PR.
Ensure the PR description aligns with the code changes, especially after
updates.
If applicable, include "Fixes #<GitHub_Issue_ID>" to automatically close the
corresponding issue
when the PR is merged.
-->
## How was this patch tested?
Local test and CI verification.
<!--
Describe how the changes were tested, if applicable.
Include new tests to validate the functionality, if necessary.
For UI-related changes, attach screenshots to demonstrate the updates.
-->
--
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]