comphead commented on code in PR #2159:
URL: https://github.com/apache/datafusion-comet/pull/2159#discussion_r2279878315


##########
spark/src/main/scala/org/apache/comet/rules/CometExecRule.scala:
##########
@@ -818,31 +816,43 @@ case class CometExecRule(session: SparkSession) extends 
Rule[SparkPlan] {
           inputs.forall(attr => supportedShuffleDataType(attr.dataType)) &&
           
CometConf.COMET_EXEC_SHUFFLE_WITH_RANGE_PARTITIONING_ENABLED.get(conf)
         if (!supported) {
-          msg = s"unsupported Spark partitioning: $ordering"
+          withInfo(s, s"unsupported Spark partitioning: $ordering")
         }
         supported
       case _ =>
-        msg = s"unsupported Spark partitioning: 
${partitioning.getClass.getName}"
+        withInfo(s, s"unsupported Spark partitioning: 
${partitioning.getClass.getName}")
         false
     }
-
-    if (!supported) {
-      emitWarning(msg)
-      (false, msg)
-    } else {
-      (true, null)
-    }
   }
 
   /**
    * Check if the datatypes of shuffle input are supported. This is used for 
Columnar shuffle
    * which supports struct/array.
    */
-  private def columnarShuffleSupported(s: ShuffleExchangeExec): (Boolean, 
String) = {
+  private def columnarShuffleSupported(s: ShuffleExchangeExec): Boolean = {
+
+    if (!isCometShuffleEnabledWithInfo(s)) {
+      return false
+    }
+
+    if (!isCometJVMShuffleMode(s.conf)) {
+      withInfo(s, "Comet columnar shuffle not enabled")
+      return false
+    }
+
+    if (isShuffleOperator(s.child)) {
+      withInfo(s, "Child is a shuffle operator")
+      return false
+    }
+
+    if (!(!s.child.supportsColumnar || isCometPlan(s.child))) {
+      withInfo(s, "Child is a neither row-based or a Comet operator")

Review Comment:
   ```suggestion
         withInfo(s, "Child {s.child.getClass.getName} is a neither row-based 
or a Comet operator")
   ```



-- 
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: github-unsubscr...@datafusion.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscr...@datafusion.apache.org
For additional commands, e-mail: github-h...@datafusion.apache.org

Reply via email to