ByteBuddy use contextClassLoader#1087
Conversation
|
Does ForceApplyShuffledHashJoinInjector also have similar issue? |
It seems to have the similar issue. Do you have any code that triggers forceApplyShuffledHashJoin to verify it? |
We can just add |
I tried running the following code, and it executed normally without any errors. I'm unable to determine if forceApplyShuffledHashJoin wasn't triggered, or if forceApplyShuffledHashJoin isn't affected by this issue. /opt/app/spark/spark-3.5.5-bin-hadoop3/bin/spark-sql \
--conf "spark.master=local[4]" \
--conf spark.blaze.enable=true \
--conf spark.blaze.forceShuffledHashJoin=true \
--conf spark.memory.offHeap.enabled=false \
--conf spark.executor.memoryOverhead=2g \
--conf spark.shuffle.manager=org.apache.spark.sql.execution.blaze.shuffle.BlazeShuffleManager \
--conf spark.jars=./target/blaze-engine-spark-3.5-release-5.0.0-SNAPSHOT.jar \
--conf spark.sql.extensions=org.apache.spark.sql.blaze.BlazeSparkSessionExtension |
Could you add |
Thanks! The reproduction was successful, so I also modified the classloader of ForceApplyShuffledHashJoinInjector. org/apache/spark/sql/blaze/ForceApplyShuffledHashJoinInterceptor
java.lang.NoClassDefFoundError: org/apache/spark/sql/blaze/ForceApplyShuffledHashJoinInterceptor
at org.apache.spark.sql.catalyst.optimizer.JoinSelectionHelper.forceApplyShuffledHashJoin(joins.scala)
at org.apache.spark.sql.catalyst.optimizer.JoinSelectionHelper.getShuffleHashJoinBuildSide(joins.scala:326)
at org.apache.spark.sql.catalyst.optimizer.JoinSelectionHelper.getShuffleHashJoinBuildSide$(joins.scala:313)
at org.apache.spark.sql.execution.SparkStrategies$JoinSelection$.getShuffleHashJoinBuildSide(SparkStrategies.scala:172)
at org.apache.spark.sql.execution.SparkStrategies$JoinSelection$.createShuffleHashJoin$1(SparkStrategies.scala:250)
at org.apache.spark.sql.execution.SparkStrategies$JoinSelection$.$anonfun$apply$4(SparkStrategies.scala:286)
at scala.Option.orElse(Option.scala:447)
at org.apache.spark.sql.execution.SparkStrategies$JoinSelection$.createJoinWithoutHint$1(SparkStrategies.scala:286)
at org.apache.spark.sql.execution.SparkStrategies$JoinSelection$.apply(SparkStrategies.scala:301)
at org.apache.spark.sql.catalyst.planning.QueryPlanner.$anonfun$plan$1(QueryPlanner.scala:63) |
Which issue does this PR close?
Follow up the PR of #1047
Rationale for this change
What changes are included in this PR?
Are there any user-facing changes?