malinjawi commented on code in PR #12198:
URL: https://github.com/apache/gluten/pull/12198#discussion_r3362283530
##########
backends-velox/src-delta/main/scala/org/apache/gluten/component/VeloxDeltaComponent.scala:
##########
@@ -46,4 +53,22 @@ class VeloxDeltaComponent extends Component {
}
DeltaPostTransformRules.rules.foreach(r => legacy.injectPostTransform(_ =>
r))
}
+
+ private def deltaDvPreprocessRule(spark: SparkSession): Rule[LogicalPlan] = {
+ if (!SparkReflectionUtil.isClassPresent(deltaDvPreprocessRuleClassName)) {
+ return VeloxDeltaComponent.IdentityRule
+ }
+
+ Class
+ .forName(deltaDvPreprocessRuleClassName)
+ .getConstructor(classOf[SparkSession])
+ .newInstance(spark)
+ .asInstanceOf[Rule[LogicalPlan]]
Review Comment:
Thanks @zhztheplayer you are right since this rule is Gluten-owned
reflection was not needed here.
I updated this path to construct `PreprocessDeltaScanWithDeletionVectors`
directly. To keep the direct construction compiling across the existing
Spark/Delta profile matrix, I also added no-op compatibility definitions for
Delta 2.3/2.4. The actual DV preprocessing behavior remains in the Delta
3.3/4.x profiles.
--
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]