Hi All, As you probably know, we introduced error classes ( https://github.com/apache/spark/pull/32850) as a part of the error messages framework (https://issues.apache.org/jira/browse/SPARK-33539). I would like to propose to migrate all exceptions from QueryExecutionErrors, QueryCompilationErrors and QueryParsingErrors on the error classes using instances of SparkThrowable, and carefully test every error class by writing tests in dedicated test suites: - QueryExecutionErrorsSuite for the errors that are occurred during query execution - QueryCompilationErrorsSuite ... query compilation or eagerly executing commands - QueryParsingErrorsSuite ... parsing errors
Here is an example https://github.com/apache/spark/pull/35157 of how an existing Java exception can be replaced, and testing of related error classes. If there will be no objections to the approach, I would create an umbrella JIRA for this activity, and sub-tasks per every error class (or a group of related classes). At the end, we should migrate all exceptions from the files Query.*Errors.scala and cover all error classes from the error-classes.json file by tests. WDYT, any thoughts are welcome. Yours faithfully, Max Gekk