Github user xuanyuanking commented on a diff in the pull request:

    https://github.com/apache/spark/pull/21194#discussion_r185851172
  
    --- Diff: 
sql/core/src/test/scala/org/apache/spark/sql/execution/streaming/sources/RateStreamProviderSuite.scala
 ---
    @@ -173,55 +173,154 @@ class RateSourceSuite extends StreamTest {
         assert(readData.map(_.getLong(1)).sorted == Range(0, 33))
       }
     
    -  test("valueAtSecond") {
    +  test("valueAtSecond without ramp-up") {
         import RateStreamProvider._
    +    val rowsPerSec = Seq(1,10,50,100,1000,10000)
    +    val secs = Seq(1, 10, 100, 1000, 10000, 100000)
    +    for {
    +      sec <- secs
    +      rps <- rowsPerSec
    +    } yield {
    +      assert(valueAtSecond(seconds = sec, rowsPerSecond = rps, 
rampUpTimeSeconds = 0) === sec * rps)
    +    }
    +  }
     
    -    assert(valueAtSecond(seconds = 0, rowsPerSecond = 5, rampUpTimeSeconds 
= 0) === 0)
    -    assert(valueAtSecond(seconds = 1, rowsPerSecond = 5, rampUpTimeSeconds 
= 0) === 5)
    +  test("valueAtSecond with ramp-up") {
    +    import RateStreamProvider._
    +    val rowsPerSec = Seq(1, 5, 10, 50, 100, 1000, 10000)
    +    val rampUpSec = Seq(10, 100, 1000)
    +
    +    // for any combination, value at zero = 0
    +    for {
    +      rps <- rowsPerSec
    +      rampUp <- rampUpSec
    +    } yield {
    +      assert(valueAtSecond(seconds = 0, rowsPerSecond = rps, 
rampUpTimeSeconds = rampUp) === 0)
    +    }
     
    -    assert(valueAtSecond(seconds = 0, rowsPerSecond = 5, rampUpTimeSeconds 
= 2) === 0)
    -    assert(valueAtSecond(seconds = 1, rowsPerSecond = 5, rampUpTimeSeconds 
= 2) === 1)
    -    assert(valueAtSecond(seconds = 2, rowsPerSecond = 5, rampUpTimeSeconds 
= 2) === 3)
    -    assert(valueAtSecond(seconds = 3, rowsPerSecond = 5, rampUpTimeSeconds 
= 2) === 8)
    --- End diff --
    
    I try your implement local and it changes the original behavior
    ```
    valueAtSecond(seconds = 1, rowsPerSecond = 5, rampUpTimeSeconds = 2) = 1
    valueAtSecond(seconds = 2, rowsPerSecond = 5, rampUpTimeSeconds = 2) = 5
    valueAtSecond(seconds = 3, rowsPerSecond = 5, rampUpTimeSeconds = 2) = 10
    valueAtSecond(seconds = 4, rowsPerSecond = 5, rampUpTimeSeconds = 2) = 15
    ```
    I think the bug fix should not change the value on `seconds > 
rampUpTimeSeconds`, just my opinion, you can ping other committers to review.


---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org
For additional commands, e-mail: reviews-h...@spark.apache.org

Reply via email to