You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spark.apache.org by do...@apache.org on 2022/06/03 19:52:41 UTC

[spark] branch master updated: [SPARK-39259][SQL][TEST][FOLLOWUP] Fix Scala 2.13 `ClassCastException` in `ComputeCurrentTimeSuite`

This is an automated email from the ASF dual-hosted git repository.

dongjoon pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/spark.git


The following commit(s) were added to refs/heads/master by this push:
     new d79aa36b12d [SPARK-39259][SQL][TEST][FOLLOWUP] Fix Scala 2.13 `ClassCastException` in `ComputeCurrentTimeSuite`
d79aa36b12d is described below

commit d79aa36b12d9d6816679ba6348705fdd3bd0061e
Author: Dongjoon Hyun <do...@apache.org>
AuthorDate: Fri Jun 3 12:52:16 2022 -0700

    [SPARK-39259][SQL][TEST][FOLLOWUP] Fix Scala 2.13 `ClassCastException` in `ComputeCurrentTimeSuite`
    
    ### What changes were proposed in this pull request?
    
    Unfortunately, #36654 causes seven Scala 2.13 test failures in master/3.3 and Apache Spark 3.3 RC4.
    This PR aims to fix Scala 2.13 ClassCastException in the test code.
    
    ### Why are the changes needed?
    
    ```
    $ dev/change-scala-version.sh 2.13
    $ build/sbt "catalyst/testOnly *.ComputeCurrentTimeSuite" -Pscala-2.13
    ...
    [info] ComputeCurrentTimeSuite:
    [info] - analyzer should replace current_timestamp with literals *** FAILED *** (1 second, 189 milliseconds)
    [info]   java.lang.ClassCastException: scala.collection.mutable.ArrayBuffer cannot be cast to scala.collection.immutable.Seq
    [info]   at org.apache.spark.sql.catalyst.optimizer.ComputeCurrentTimeSuite.literals(ComputeCurrentTimeSuite.scala:146)
    [info]   at org.apache.spark.sql.catalyst.optimizer.ComputeCurrentTimeSuite.$anonfun$new$1(ComputeCurrentTimeSuite.scala:47)
    ...
    [info] *** 7 TESTS FAILED ***
    [error] Failed tests:
    [error]         org.apache.spark.sql.catalyst.optimizer.ComputeCurrentTimeSuite
    [error] (catalyst / Test / testOnly) sbt.TestsFailedException: Tests unsuccessful
    [error] Total time: 189 s (03:09), completed Jun 3, 2022 10:29:39 AM
    ```
    
    ### Does this PR introduce _any_ user-facing change?
    
    No.
    
    ### How was this patch tested?
    
    Pass the CIs and manually tests with Scala 2.13.
    
    ```
    $ dev/change-scala-version.sh 2.13
    $ build/sbt "catalyst/testOnly *.ComputeCurrentTimeSuite" -Pscala-2.13
    ...
    [info] ComputeCurrentTimeSuite:
    [info] - analyzer should replace current_timestamp with literals (545 milliseconds)
    [info] - analyzer should replace current_date with literals (11 milliseconds)
    [info] - SPARK-33469: Add current_timezone function (3 milliseconds)
    [info] - analyzer should replace localtimestamp with literals (4 milliseconds)
    [info] - analyzer should use equal timestamps across subqueries (182 milliseconds)
    [info] - analyzer should use consistent timestamps for different timezones (13 milliseconds)
    [info] - analyzer should use consistent timestamps for different timestamp functions (2 milliseconds)
    [info] Run completed in 1 second, 579 milliseconds.
    [info] Total number of tests run: 7
    [info] Suites: completed 1, aborted 0
    [info] Tests: succeeded 7, failed 0, canceled 0, ignored 0, pending 0
    [info] All tests passed.
    [success] Total time: 12 s, completed Jun 3, 2022, 10:54:03 AM
    ```
    
    Closes #36762 from dongjoon-hyun/SPARK-39259.
    
    Authored-by: Dongjoon Hyun <do...@apache.org>
    Signed-off-by: Dongjoon Hyun <do...@apache.org>
---
 .../apache/spark/sql/catalyst/optimizer/ComputeCurrentTimeSuite.scala | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/optimizer/ComputeCurrentTimeSuite.scala b/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/optimizer/ComputeCurrentTimeSuite.scala
index c034906c09b..86461522f74 100644
--- a/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/optimizer/ComputeCurrentTimeSuite.scala
+++ b/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/optimizer/ComputeCurrentTimeSuite.scala
@@ -135,7 +135,7 @@ class ComputeCurrentTimeSuite extends PlanTest {
     assert(offsetsFromQuarterHour.size == 1)
   }
 
-  private def literals[T](plan: LogicalPlan): Seq[T] = {
+  private def literals[T](plan: LogicalPlan): scala.collection.mutable.ArrayBuffer[T] = {
     val literals = new scala.collection.mutable.ArrayBuffer[T]
     plan.transformWithSubqueries { case subQuery =>
       subQuery.transformAllExpressions { case expression: Literal =>
@@ -143,6 +143,6 @@ class ComputeCurrentTimeSuite extends PlanTest {
         expression
       }
     }
-    literals.asInstanceOf[Seq[T]]
+    literals
   }
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@spark.apache.org
For additional commands, e-mail: commits-help@spark.apache.org