Skip to content
  •  
  •  
  •  
Original file line number Diff line number Diff line change
Expand Up @@ -85,20 +85,20 @@ private[spark] object SparkThrowableHelper {
toJsonString { generator =>
val g = generator.useDefaultPrettyPrinter()
g.writeStartObject()
g.writeStringField("errorClass", "LEGACY")
g.writeStringField("condition", "LEGACY")

@beliefer beliefer Feb 22, 2025

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How about errorCondition? The name condition makes confusion for developers who not read the document common/utils/src/main/resources/error/README.md.

g.writeObjectFieldStart("messageParameters")
g.writeStringField("message", e.getMessage)
g.writeEndObject()
g.writeEndObject()
}
case MINIMAL | STANDARD =>
val errorClass = e.getCondition
val condition = e.getCondition
toJsonString { generator =>
val g = generator.useDefaultPrettyPrinter()
g.writeStartObject()
g.writeStringField("errorClass", errorClass)
g.writeStringField("condition", condition)
if (format == STANDARD) {
g.writeStringField("messageTemplate", errorReader.getMessageTemplate(errorClass))
g.writeStringField("messageTemplate", errorReader.getMessageTemplate(condition))
}
val sqlState = e.getSqlState
if (sqlState != null) g.writeStringField("sqlState", sqlState)
Expand Down
12 changes: 6 additions & 6 deletions core/src/test/scala/org/apache/spark/SparkThrowableSuite.scala
Original file line number Diff line number Diff line change
Expand Up @@ -314,7 +314,7 @@ class SparkThrowableSuite extends SparkFunSuite {
// scalastyle:off line.size.limit
assert(SparkThrowableHelper.getMessage(e, MINIMAL) ===
"""{
| "errorClass" : "DIVIDE_BY_ZERO",
| "condition" : "DIVIDE_BY_ZERO",
| "sqlState" : "22012",
| "messageParameters" : {
| "config" : "CONFIG"
Expand All @@ -328,7 +328,7 @@ class SparkThrowableSuite extends SparkFunSuite {
|}""".stripMargin)
assert(SparkThrowableHelper.getMessage(e, STANDARD) ===
"""{
| "errorClass" : "DIVIDE_BY_ZERO",
| "condition" : "DIVIDE_BY_ZERO",
| "messageTemplate" : "Division by zero. Use `try_divide` to tolerate divisor being 0 and return NULL instead. If necessary set <config> to \"false\" to bypass this error.",
| "sqlState" : "22012",
| "messageParameters" : {
Expand All @@ -348,7 +348,7 @@ class SparkThrowableSuite extends SparkFunSuite {
messageParameters = Map("saveMode" -> "UNSUPPORTED_MODE"))
assert(SparkThrowableHelper.getMessage(e2, STANDARD) ===
"""{
| "errorClass" : "UNSUPPORTED_SAVE_MODE.EXISTENT_PATH",
| "condition" : "UNSUPPORTED_SAVE_MODE.EXISTENT_PATH",
| "messageTemplate" : "The save mode <saveMode> is not supported for: an existent path.",
| "sqlState" : "0A000",
| "messageParameters" : {
Expand All @@ -363,7 +363,7 @@ class SparkThrowableSuite extends SparkFunSuite {
val e3 = new LegacyException
assert(SparkThrowableHelper.getMessage(e3, MINIMAL) ===
"""{
| "errorClass" : "LEGACY",
| "condition" : "LEGACY",
| "messageParameters" : {
| "message" : "Test message"
| }
Expand Down Expand Up @@ -392,7 +392,7 @@ class SparkThrowableSuite extends SparkFunSuite {
// scalastyle:off line.size.limit
assert(SparkThrowableHelper.getMessage(e4, MINIMAL) ===
"""{
| "errorClass" : "DIVIDE_BY_ZERO",
| "condition" : "DIVIDE_BY_ZERO",
| "sqlState" : "22012",
| "messageParameters" : {
| "config" : "CONFIG"
Expand All @@ -404,7 +404,7 @@ class SparkThrowableSuite extends SparkFunSuite {
|}""".stripMargin)
assert(SparkThrowableHelper.getMessage(e4, STANDARD) ===
"""{
| "errorClass" : "DIVIDE_BY_ZERO",
| "condition" : "DIVIDE_BY_ZERO",
| "messageTemplate" : "Division by zero. Use `try_divide` to tolerate divisor being 0 and return NULL instead. If necessary set <config> to \"false\" to bypass this error.",
| "sqlState" : "22012",
| "messageParameters" : {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -172,7 +172,7 @@ select sort_array(array('b', 'd'), '1')
-- !query analysis
org.apache.spark.sql.catalyst.ExtendedAnalysisException
{
"errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
"condition" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
"sqlState" : "42K09",
"messageParameters" : {
"inputSql" : "\"1\"",
Expand Down Expand Up @@ -338,7 +338,7 @@ select array_size(map('a', 1, 'b', 2))
-- !query analysis
org.apache.spark.sql.catalyst.ExtendedAnalysisException
{
"errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
"condition" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
"sqlState" : "42K09",
"messageParameters" : {
"inputSql" : "\"map(a, 1, b, 2)\"",
Expand Down Expand Up @@ -460,7 +460,7 @@ select array_insert(array(1, 2, 3), 3, "4")
-- !query analysis
org.apache.spark.sql.catalyst.ExtendedAnalysisException
{
"errorClass" : "DATATYPE_MISMATCH.ARRAY_FUNCTION_DIFF_TYPES",
"condition" : "DATATYPE_MISMATCH.ARRAY_FUNCTION_DIFF_TYPES",
"sqlState" : "42K09",
"messageParameters" : {
"dataType" : "\"ARRAY\"",
Expand Down Expand Up @@ -552,7 +552,7 @@ select array_compact(id) from values (1) as t(id)
-- !query analysis
org.apache.spark.sql.catalyst.ExtendedAnalysisException
{
"errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
"condition" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
"sqlState" : "42K09",
"messageParameters" : {
"inputSql" : "\"id\"",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -207,7 +207,7 @@ SELECT HEX(CAST(CAST(123 AS byte) AS binary))
-- !query analysis
org.apache.spark.sql.catalyst.ExtendedAnalysisException
{
"errorClass" : "DATATYPE_MISMATCH.CAST_WITH_CONF_SUGGESTION",
"condition" : "DATATYPE_MISMATCH.CAST_WITH_CONF_SUGGESTION",
"sqlState" : "42K09",
"messageParameters" : {
"config" : "\"spark.sql.ansi.enabled\"",
Expand All @@ -231,7 +231,7 @@ SELECT HEX(CAST(CAST(-123 AS byte) AS binary))
-- !query analysis
org.apache.spark.sql.catalyst.ExtendedAnalysisException
{
"errorClass" : "DATATYPE_MISMATCH.CAST_WITH_CONF_SUGGESTION",
"condition" : "DATATYPE_MISMATCH.CAST_WITH_CONF_SUGGESTION",
"sqlState" : "42K09",
"messageParameters" : {
"config" : "\"spark.sql.ansi.enabled\"",
Expand All @@ -255,7 +255,7 @@ SELECT HEX(CAST(123S AS binary))
-- !query analysis
org.apache.spark.sql.catalyst.ExtendedAnalysisException
{
"errorClass" : "DATATYPE_MISMATCH.CAST_WITH_CONF_SUGGESTION",
"condition" : "DATATYPE_MISMATCH.CAST_WITH_CONF_SUGGESTION",
"sqlState" : "42K09",
"messageParameters" : {
"config" : "\"spark.sql.ansi.enabled\"",
Expand All @@ -279,7 +279,7 @@ SELECT HEX(CAST(-123S AS binary))
-- !query analysis
org.apache.spark.sql.catalyst.ExtendedAnalysisException
{
"errorClass" : "DATATYPE_MISMATCH.CAST_WITH_CONF_SUGGESTION",
"condition" : "DATATYPE_MISMATCH.CAST_WITH_CONF_SUGGESTION",
"sqlState" : "42K09",
"messageParameters" : {
"config" : "\"spark.sql.ansi.enabled\"",
Expand All @@ -303,7 +303,7 @@ SELECT HEX(CAST(123 AS binary))
-- !query analysis
org.apache.spark.sql.catalyst.ExtendedAnalysisException
{
"errorClass" : "DATATYPE_MISMATCH.CAST_WITH_CONF_SUGGESTION",
"condition" : "DATATYPE_MISMATCH.CAST_WITH_CONF_SUGGESTION",
"sqlState" : "42K09",
"messageParameters" : {
"config" : "\"spark.sql.ansi.enabled\"",
Expand All @@ -327,7 +327,7 @@ SELECT HEX(CAST(-123 AS binary))
-- !query analysis
org.apache.spark.sql.catalyst.ExtendedAnalysisException
{
"errorClass" : "DATATYPE_MISMATCH.CAST_WITH_CONF_SUGGESTION",
"condition" : "DATATYPE_MISMATCH.CAST_WITH_CONF_SUGGESTION",
"sqlState" : "42K09",
"messageParameters" : {
"config" : "\"spark.sql.ansi.enabled\"",
Expand All @@ -351,7 +351,7 @@ SELECT HEX(CAST(123L AS binary))
-- !query analysis
org.apache.spark.sql.catalyst.ExtendedAnalysisException
{
"errorClass" : "DATATYPE_MISMATCH.CAST_WITH_CONF_SUGGESTION",
"condition" : "DATATYPE_MISMATCH.CAST_WITH_CONF_SUGGESTION",
"sqlState" : "42K09",
"messageParameters" : {
"config" : "\"spark.sql.ansi.enabled\"",
Expand All @@ -375,7 +375,7 @@ SELECT HEX(CAST(-123L AS binary))
-- !query analysis
org.apache.spark.sql.catalyst.ExtendedAnalysisException
{
"errorClass" : "DATATYPE_MISMATCH.CAST_WITH_CONF_SUGGESTION",
"condition" : "DATATYPE_MISMATCH.CAST_WITH_CONF_SUGGESTION",
"sqlState" : "42K09",
"messageParameters" : {
"config" : "\"spark.sql.ansi.enabled\"",
Expand Down Expand Up @@ -432,7 +432,7 @@ SELECT CAST(interval 3 month 1 hour AS string)
-- !query analysis
org.apache.spark.sql.catalyst.parser.ParseException
{
"errorClass" : "_LEGACY_ERROR_TEMP_0029",
"condition" : "_LEGACY_ERROR_TEMP_0029",
"messageParameters" : {
"literal" : "interval 3 month 1 hour"
},
Expand Down Expand Up @@ -942,7 +942,7 @@ SELECT HEX((123 :: byte) :: binary)
-- !query analysis
org.apache.spark.sql.catalyst.ExtendedAnalysisException
{
"errorClass" : "DATATYPE_MISMATCH.CAST_WITH_CONF_SUGGESTION",
"condition" : "DATATYPE_MISMATCH.CAST_WITH_CONF_SUGGESTION",
"sqlState" : "42K09",
"messageParameters" : {
"config" : "\"spark.sql.ansi.enabled\"",
Expand Down Expand Up @@ -1066,7 +1066,7 @@ SELECT '2147483648' :: BINT
-- !query analysis
org.apache.spark.sql.catalyst.parser.ParseException
{
"errorClass" : "UNSUPPORTED_DATATYPE",
"condition" : "UNSUPPORTED_DATATYPE",
"sqlState" : "0A000",
"messageParameters" : {
"typeName" : "\"BINT\""
Expand All @@ -1086,7 +1086,7 @@ SELECT '2147483648' :: SELECT
-- !query analysis
org.apache.spark.sql.catalyst.parser.ParseException
{
"errorClass" : "UNSUPPORTED_DATATYPE",
"condition" : "UNSUPPORTED_DATATYPE",
"sqlState" : "0A000",
"messageParameters" : {
"typeName" : "\"SELECT\""
Expand All @@ -1106,7 +1106,7 @@ SELECT FALSE IS NOT NULL :: string
-- !query analysis
org.apache.spark.sql.catalyst.parser.ParseException
{
"errorClass" : "PARSE_SYNTAX_ERROR",
"condition" : "PARSE_SYNTAX_ERROR",
"sqlState" : "42601",
"messageParameters" : {
"error" : "'::'",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ select date '2020-01-01中文'
-- !query analysis
org.apache.spark.sql.catalyst.parser.ParseException
{
"errorClass" : "INVALID_TYPED_LITERAL",
"condition" : "INVALID_TYPED_LITERAL",
"sqlState" : "42604",
"messageParameters" : {
"value" : "'2020-01-01中文'",
Expand Down Expand Up @@ -60,7 +60,7 @@ select date'015'
-- !query analysis
org.apache.spark.sql.catalyst.parser.ParseException
{
"errorClass" : "INVALID_TYPED_LITERAL",
"condition" : "INVALID_TYPED_LITERAL",
"sqlState" : "42604",
"messageParameters" : {
"value" : "'015'",
Expand All @@ -81,7 +81,7 @@ select date'2021-4294967297-11'
-- !query analysis
org.apache.spark.sql.catalyst.parser.ParseException
{
"errorClass" : "INVALID_TYPED_LITERAL",
"condition" : "INVALID_TYPED_LITERAL",
"sqlState" : "42604",
"messageParameters" : {
"value" : "'2021-4294967297-11'",
Expand Down Expand Up @@ -114,7 +114,7 @@ select curdate(1)
-- !query analysis
org.apache.spark.sql.AnalysisException
{
"errorClass" : "WRONG_NUM_ARGS.WITHOUT_SUGGESTION",
"condition" : "WRONG_NUM_ARGS.WITHOUT_SUGGESTION",
"sqlState" : "42605",
"messageParameters" : {
"actualNum" : "1",
Expand Down Expand Up @@ -285,7 +285,7 @@ select date_add('2011-11-11', 1L)
-- !query analysis
org.apache.spark.sql.catalyst.ExtendedAnalysisException
{
"errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
"condition" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
"sqlState" : "42K09",
"messageParameters" : {
"inputSql" : "\"1\"",
Expand All @@ -309,7 +309,7 @@ select date_add('2011-11-11', 1.0)
-- !query analysis
org.apache.spark.sql.catalyst.ExtendedAnalysisException
{
"errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
"condition" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
"sqlState" : "42K09",
"messageParameters" : {
"inputSql" : "\"1.0\"",
Expand All @@ -333,7 +333,7 @@ select date_add('2011-11-11', 1E1)
-- !query analysis
org.apache.spark.sql.catalyst.ExtendedAnalysisException
{
"errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
"condition" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
"sqlState" : "42K09",
"messageParameters" : {
"inputSql" : "\"10.0\"",
Expand Down Expand Up @@ -423,7 +423,7 @@ select date_sub('2011-11-11', 1L)
-- !query analysis
org.apache.spark.sql.catalyst.ExtendedAnalysisException
{
"errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
"condition" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
"sqlState" : "42K09",
"messageParameters" : {
"inputSql" : "\"1\"",
Expand All @@ -447,7 +447,7 @@ select date_sub('2011-11-11', 1.0)
-- !query analysis
org.apache.spark.sql.catalyst.ExtendedAnalysisException
{
"errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
"condition" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
"sqlState" : "42K09",
"messageParameters" : {
"inputSql" : "\"1.0\"",
Expand All @@ -471,7 +471,7 @@ select date_sub('2011-11-11', 1E1)
-- !query analysis
org.apache.spark.sql.catalyst.ExtendedAnalysisException
{
"errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
"condition" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
"sqlState" : "42K09",
"messageParameters" : {
"inputSql" : "\"10.0\"",
Expand Down Expand Up @@ -576,7 +576,7 @@ select date '2011-11-11' + 1E1
-- !query analysis
org.apache.spark.sql.catalyst.ExtendedAnalysisException
{
"errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
"condition" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
"sqlState" : "42K09",
"messageParameters" : {
"inputSql" : "\"10.0\"",
Expand Down Expand Up @@ -660,7 +660,7 @@ select date'2011-11-11' + '1'
-- !query analysis
org.apache.spark.sql.catalyst.ExtendedAnalysisException
{
"errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
"condition" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
"sqlState" : "42K09",
"messageParameters" : {
"inputSql" : "\"1\"",
Expand All @@ -684,7 +684,7 @@ select '1' + date'2011-11-11'
-- !query analysis
org.apache.spark.sql.catalyst.ExtendedAnalysisException
{
"errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
"condition" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
"sqlState" : "42K09",
"messageParameters" : {
"inputSql" : "\"DATE '2011-11-11'\"",
Expand Down Expand Up @@ -812,7 +812,7 @@ select dateadd('MICROSECOND', 1001, timestamp'2022-02-25 01:02:03.123')
-- !query analysis
org.apache.spark.sql.catalyst.parser.ParseException
{
"errorClass" : "INVALID_PARAMETER_VALUE.DATETIME_UNIT",
"condition" : "INVALID_PARAMETER_VALUE.DATETIME_UNIT",
"sqlState" : "22023",
"messageParameters" : {
"functionName" : "`dateadd`",
Expand All @@ -834,7 +834,7 @@ select date_add('QUARTER', 5, date'2022-02-25')
-- !query analysis
org.apache.spark.sql.catalyst.parser.ParseException
{
"errorClass" : "INVALID_PARAMETER_VALUE.DATETIME_UNIT",
"condition" : "INVALID_PARAMETER_VALUE.DATETIME_UNIT",
"sqlState" : "22023",
"messageParameters" : {
"functionName" : "`date_add`",
Expand Down Expand Up @@ -916,7 +916,7 @@ select date_diff('MILLISECOND', timestamp'2022-02-25 01:02:03.456', timestamp'20
-- !query analysis
org.apache.spark.sql.catalyst.parser.ParseException
{
"errorClass" : "INVALID_PARAMETER_VALUE.DATETIME_UNIT",
"condition" : "INVALID_PARAMETER_VALUE.DATETIME_UNIT",
"sqlState" : "22023",
"messageParameters" : {
"functionName" : "`date_diff`",
Expand All @@ -938,7 +938,7 @@ select datediff('YEAR', date'2022-02-25', date'2023-02-25')
-- !query analysis
org.apache.spark.sql.catalyst.parser.ParseException
{
"errorClass" : "INVALID_PARAMETER_VALUE.DATETIME_UNIT",
"condition" : "INVALID_PARAMETER_VALUE.DATETIME_UNIT",
"sqlState" : "22023",
"messageParameters" : {
"functionName" : "`datediff`",
Expand Down
Loading