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

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


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

commit b2046c282a5be8ade421db61b583a6738f0e9ed6
Author: Dongjoon Hyun <dongj...@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 <dongj...@apache.org>
    Signed-off-by: Dongjoon Hyun <dongj...@apache.org>
    (cherry picked from commit d79aa36b12d9d6816679ba6348705fdd3bd0061e)
    Signed-off-by: Dongjoon Hyun <dongj...@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-unsubscr...@spark.apache.org
For additional commands, e-mail: commits-h...@spark.apache.org

Reply via email to