[ https://issues.apache.org/jira/browse/SPARK-45383?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Ryan Johnson updated SPARK-45383: --------------------------------- Description: {{CheckAnalysis.checkAnalysis0}} lacks a case for {{{}RelationTimeTravel{}}}, and since the latter is (intentionally) an {{UnresolvedLeafNode}} rather than a {{{}UnaryNode{}}}, the existing checks do not traverse it. Result: Attempting time travel over a non-existing table produces a spark internal error from the [default case|https://github.com/apache/spark/blob/master/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/analysis/CheckAnalysis.scala#L818], rather than the expected {{{}AnalysisException{}}}: {code:java} [info] Cause: org.apache.spark.SparkException: [INTERNAL_ERROR] Found the unresolved operator: 'RelationTimeTravel 'UnresolvedRelation [not_exists], [], false, 0 [info] at org.apache.spark.SparkException$.internalError(SparkException.scala:77) [info] at org.apache.spark.sql.catalyst.analysis.CheckAnalysis.$anonfun$checkAnalysis0$54(CheckAnalysis.scala:753) {code} Fix should be simple enough: {code:java} case tt: RelationTimeTravel => checkAnalysis0(tt.table) {code} was: {{CheckAnalysis.checkAnalysis0}} lacks a case for {{{}RelationTimeTravel{}}}, and since the latter is (intentionally) an {{UnresolvedLeafNode}} rather than a {{{}UnaryNode{}}}, the existing checks do not traverse it. Result: Attempting time travel over a non-existing table produces a spark internal error from the [default case|https://github.com/apache/spark/blob/master/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/analysis/CheckAnalysis.scala#L818], rather than the expected {{{}AnalysisException{}}}: {code:java} [info] Cause: org.apache.spark.SparkException: [INTERNAL_ERROR] Found the unresolved operator: 'RelationTimeTravel 'UnresolvedRelation [not_exists], [], false, 0 [info] at org.apache.spark.SparkException$.internalError(SparkException.scala:77) [info] at org.apache.spark.sql.catalyst.analysis.CheckAnalysis.$anonfun$checkAnalysis0$54(CheckAnalysis.scala:753) {code} Solution should be simple enough: {code:java} case tt: RelationTimeTravel => checkAnalysis0(tt.table) {code} > Missing case for RelationTimeTravel in CheckAnalysis > ---------------------------------------------------- > > Key: SPARK-45383 > URL: https://issues.apache.org/jira/browse/SPARK-45383 > Project: Spark > Issue Type: Bug > Components: Spark Core > Affects Versions: 3.5.0 > Reporter: Ryan Johnson > Priority: Major > > {{CheckAnalysis.checkAnalysis0}} lacks a case for {{{}RelationTimeTravel{}}}, > and since the latter is (intentionally) an {{UnresolvedLeafNode}} rather than > a {{{}UnaryNode{}}}, the existing checks do not traverse it. > Result: Attempting time travel over a non-existing table produces a spark > internal error from the [default > case|https://github.com/apache/spark/blob/master/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/analysis/CheckAnalysis.scala#L818], > rather than the expected {{{}AnalysisException{}}}: > {code:java} > [info] Cause: org.apache.spark.SparkException: [INTERNAL_ERROR] Found the > unresolved operator: 'RelationTimeTravel 'UnresolvedRelation [not_exists], > [], false, 0 > [info] at > org.apache.spark.SparkException$.internalError(SparkException.scala:77) > [info] at > org.apache.spark.sql.catalyst.analysis.CheckAnalysis.$anonfun$checkAnalysis0$54(CheckAnalysis.scala:753) > {code} > Fix should be simple enough: > {code:java} > case tt: RelationTimeTravel => > checkAnalysis0(tt.table) {code} -- This message was sent by Atlassian Jira (v8.20.10#820010) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@spark.apache.org For additional commands, e-mail: issues-h...@spark.apache.org