comphead commented on code in PR #170:
URL: 
https://github.com/apache/arrow-datafusion-comet/pull/170#discussion_r1514830704


##########
DEBUGGING.md:
##########
@@ -30,6 +30,62 @@ LLDB or the LLDB that is bundled with XCode. We will use the 
LLDB packaged with
 
 _Caveat: The steps here have only been tested with JDK 11_ on Mac (M1)
 
+# Expand Comet exception details
+By default, Comet outputs the exception details specific for Comet. There is a 
possibility of extending the exception
+details by leveraging Datafusion 
[backtraces](https://arrow.apache.org/datafusion/user-guide/example-usage.html#enable-backtraces)
+
+```scala
+scala> spark.sql("my_failing_query").show(false)
+
+24/03/05 17:00:07 ERROR Executor: Exception in task 0.0 in stage 0.0 (TID 0)/ 
1]
+org.apache.comet.CometNativeException: Internal error: MIN/MAX is not expected 
to receive scalars of incompatible types (Date32("NULL"), Int32(15901)).
+This was likely caused by a bug in DataFusion's code and we would welcome that 
you file an bug report in our issue tracker
+        at org.apache.comet.Native.executePlan(Native Method)
+        at 
org.apache.comet.CometExecIterator.executeNative(CometExecIterator.scala:65)
+        at 
org.apache.comet.CometExecIterator.getNextBatch(CometExecIterator.scala:111)
+        at 
org.apache.comet.CometExecIterator.hasNext(CometExecIterator.scala:126)
+
+```
+To do that with Comet it is needed to enable `backtrace` in  
https://github.com/apache/arrow-datafusion-comet/blob/main/core/Cargo.toml
+
+```
+datafusion-common = { version = "36.0.0", features = ["backtrace"] }
+datafusion = { default-features = false, version = "36.0.0", features = 
["unicode_expressions", "backtrace"] }
+```
+
+Then build the Comet as 
[described](https://github.com/apache/arrow-datafusion-comet/blob/main/README.md#getting-started)
+
+Start Comet with `RUST_BACKTRACE=1`
+
+```commandline
+RUST_BACKTRACE=1 $SPARK_HOME/spark-shell --jars 
spark/target/comet-spark-spark3.4_2.12-0.1.0-SNAPSHOT.jar --conf 
spark.sql.extensions=org.apache.comet.CometSparkSessionExtensions --conf 
spark.comet.enabled=true --conf spark.comet.exec.enabled=true --conf 
spark.comet.exec.all.enabled=true

Review Comment:
   That is good idea if we decide to keep backtrace enabled always



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

Reply via email to