Uploaded image for project: 'Spark'
  1. Spark
  2. SPARK-40919

Bad case of `AnalysisTest#assertAnalysisErrorClass` when `expectedMessageParameters.size between [2, 4]`

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 3.4.0
    • 3.4.0
    • Tests
    • None

    Description

      If the size of the input parameter `expectedMessageParameters` of the `AnalysisTest#assertAnalysisErrorClass` method is between 2 and 4, the result of `

      e.messageParameters.sameElements(expectedMessageParameters)` is related to order.

      For example

       

      bin/scala
      Welcome to Scala 2.12.16 (OpenJDK 64-Bit Server VM, Java 1.8.0_352).
      Type in expressions for evaluation. Or try :help.
      
      
      scala> :paste
      // Entering paste mode (ctrl-D to finish)
      
      
      val messageParameters = Map(
            "exprName" -> "`window_duration`",
            "valueRange" -> s"(0, 9223372036854775807]",
            "currentValue" -> "-1000000L",
            "sqlExpr" -> "\"window(2016-01-01 01:01:01, -1000000, 1000000, 0)\""
          )
      val expectedMessageParameters =  Map(
            "sqlExpr" -> "\"window(2016-01-01 01:01:01, -1000000, 1000000, 0)\"",
            "exprName" -> "`window_duration`",
            "valueRange" -> s"(0, 9223372036854775807]",
            "currentValue" -> "-1000000L"
          )
      
      
      val ret = messageParameters.sameElements(expectedMessageParameters)
      
      
      // Exiting paste mode, now interpreting.
      
      
      messageParameters: scala.collection.immutable.Map[String,String] = Map(exprName -> `window_duration`, valueRange -> (0, 9223372036854775807], currentValue -> -1000000L, sqlExpr -> "window(2016-01-01 01:01:01, -1000000, 1000000, 0)")
      expectedMessageParameters: scala.collection.immutable.Map[String,String] = Map(sqlExpr -> "window(2016-01-01 01:01:01, -1000000, 1000000, 0)", exprName -> `window_duration`, valueRange -> (0, 9223372036854775807], currentValue -> -1000000L)
      ret: Boolean = false

       

       

       

      Attachments

        Activity

          People

            LuciferYang Yang Jie
            LuciferYang Yang Jie
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: